선관위 디도스 공격에 대한 간단한 정리

#01.


우선 디도스의 기본부터 설명해야 할 것 같습니다.

웹사이트에 접속하기 위해서

1. 클라이언트가 웹사이트의 정보가 있는 서버에 '전송요청'을 보낸다.

2. 서버가 클라이언트에 응답을 해, 서버의 정보를 클라이언트에 보낸다


대충 이런 과정이 이루어지는데, 디도스 공격이라는 것은 이 서버에 '전송요청'[주1]을 보내는 것을 급격히 늘려, 서버에 과부하를 일으키는 공격입니다. 복잡한 해킹이나 이런 것이 아닌, 단순히 서버 과부하를 일으키는, 단순하다고 할 수 있는 그런 공격이죠. 



#02.


10월 26일 아침, 선관위 홈페이지는 멀쩡했습니다. 하지만 선관위 홈페이지에서 투표소를 찾는 데이터베이스만 접속할 수 없었죠.

이러한 정황에서, 김어준이 "선관위 홈페이지는 디도스 공격을 받은 것이 아니다. DB와의 연동을 끊은 것이다"라고 주장한 것은 지극히 타당한 추측입니다.


상식적으로 선관위 홈페이지 정보와 투표소 DB는 '같은 서버'에 있겠죠. 그런데, 투표소 DB만 접속할 수 없었지만 선관위 홈페이지는 접속할 수 없었다?

디도스 공격은 서버 전체에 과부화를 일으키는 공격입니다. 따라서, 상식적으로 이 사건은 디도스공격일 수 없는 문제입니다.



#03.


이에 대한 경찰의 발표는 "디도스 공격이 맞다. 투표소 DB는 다른 서버에 있었는데, 그 서버만 공격을 받았다."라는 것입니다.

어떻게든 디도스 공격이라고 묻어버리려는 것 처럼 보이지만, 일단 이 주장을 받아들여보죠.


그렇다면, 해킹을 시도한 공 모씨를 포함한 3인이, 어떻게 '투표소 DB가 저장된 서버의 IP주소를 알고 있었냐'가 문제의 쟁점이 됩니다.

만약 투표소 DB가 '따로' 공개 IP를 사용하고 그 IP가 노출되어 있다면 모릅니다.

하지만 대체로, 웹사이트의 경우 대표 IP만 노출되어 있고 DB서버의 경우 사설망을 연결해서, '내부에서 들어갈때만 연결'할 수 있도록 조치합니다.


자, 공 모씨를 포함한 3인이 '어떻게 DB서버의 IP를 알아내서 공격을 감행했을까?'

선관위 내부인의 공조가 없이는, 굉장히 어려운 일이 됩니다.



#04.


이런 점에서, 선관위가 내놓은 '변명'도 선관위 내부의 공모가 없었다면 이 사건이 일어나는 것이 불가능하다, 는게 결론입니다.


글쎄요, 어떤 분들께서는 디도스가 IT분야에 있어서 만능의 대답이라고 생각해 마구 휘두르는 것 같은데요,

그 어떤 분들께서 상당히 IT분야에 대한 이해가 떨어지는 것이 아닌가... 싶은 생각이 드네요.


개인적으로 공 모씨가 디도스를 한 대상은 박원순 시장의 홈페이지, 그리고 페이크 모션인 것 같고

실질적으로는 아마 단순히 투표소 DB연동만 끊은 것이라고 생각합니다. 단순하게 생각하면 이게 가장 합리적이에요.

    • 아침에 시선집중 들어보니까 선관위 측에선 '최신의' 디도스 공격이었다고 그러더군요.
    • 투표소검색만 안된건가요? 투표율검색같은 다른메뉴도 안됐다는데 저는 당일 안들어가봐서 뭐가 맞는지 모르겠네요
    • 저들의 변명도, 보수언론의 확성기 짓도,
      어차피 저런 배경을 알 리 없고, 알 의지도 없는 50대 이상 연령대에게 향하는 것일테지요.
    • jwnfjkenwe// 그 최신방식의 디도스 공격 알고리즘이 도대체 어떻게 생긴건지 궁금합니다. 디비 서버만 찾아서 연결요청하는 알고리즘인걸까요... ㅎㅎ
      죠.// 투표율도 디비의 일부이니, 연동해제하다가 같이 연동이 해제된 걸수도 있고요, 만약 투표율 디비와 투표소 디비가 같은 서버에 있었다면 그 서버만 파워를 내려버렸을 수도...
    • 선관위와 같은 공공기관의 서버 구성도를 가장 많이 본 사람 중에 하나입니다.
      대부분의 기관에서 WAS 같은 웹서버와 DB서버는 따로 구성하는 게 일반적이니, 선관위가 한 얘기가 틀리진 않습니다. 다만
      피로님 말씀처럼 DB서버는 100% 내부망에 존재합니다. 사설망, 인트라넷 등의 용어로 불리기도 하는 이 내부망은 물리적, 논리적으로 완전히
      인터넷망과 단절이 되어 있기 때문에 디도스건, 해킹이건 애초에 불가능합니다.
      '아이리스' 같은 드라마 보면 북한 공작원이 노트북 한 대로 경찰청 내부 정보를 해킹하고 하던데, 말도 안 되는 얘기입니다.
      농협 사태가 터졌을 때 99%의 IT 종사자가 디도스 공격이라는 발표를 비웃었던 가장 큰 이유 역시 내부망은 디도스 공격의 대상이 될 수가 없기 때문입니다.
      디도스라는 초보적인 공격으로는 요즘의 그 어떤 공공기관이라 하더라도 핵심 업무 시스템은 손도 못 댑니다. 바로 망분리 때문입니다. 겨우 홈페이지만 주저앉힐 수 있을 뿐입니다. 망분리 사업 자체가 보안성 강화를 위함입니다.

      이번 선관위 사태도 애초부터 홈페이지 자체가 접속이 안 되었다면 그냥 접속 폭주로 인한 과부하였겠거니 하고 넘어갈 수 있었을텐데, 그 역시 조작하기가 쉽지 않았거나, DB연결만 끊으면 아무도 눈치 못 채고 넘어갈 거라고 안일하게 생각했거나, 뭐 그런 정도가 아닐까 짐작합니다.
    • 2번에는 이론의 여지가 있습니다.

      실제 선관위 홈페이지의 구성이 2-tier냐 3-tier냐는 모르겠지만 서버를 tier 구성한다고 해서 네트웍 망도 분리했느냐는 실제 확인해 보기 전에는 알 수 없습니다. 요즘은 대개 웹서버는 DMZ 에 놓고 DB나 AP서버는 내부망에 구성을 하고 Firewall로 분리를 하긴 합니다만, 단순 게시나 홍보 성격의 홈페이지는 그냥 다 DMZ에 놓은 구성도 본 적은 있습니다. 매우 멍청한 구성이죠.

      그리고 DB연결을 끊었다는 얘기가 계속 나오는데요, 그 증거가 투표소 위치 확인 페이지만 응답이 없었다라는 진술에 의거합니다.

      그러나 실제 Web-WAS 단과 DB 단의 세션을 끊어버리면 어떤 현상이 발생하느냐.

      1. 홈페이지의 전체 서비스 페이지가 단일 WAS와 DB를 사용하는 경우.
      - DB 세션을 끊어버리면 전체 페이지에서 에러가 납니다. 브라우져에서 페이지 못찾는 에러가 아닌 WAS 라는 서버에서 뿜어내는 500error류가 납니다.
      2. 투표소 확인 페이지만 별도 WAS, 별도 DB로 구성한 경우
      - 이 경우는 그 해당 DB만 끊을 수 있으므로 해당 조회 페이지에서 500error 류를 뿜어냅니다.
      - 만약에 별도 WAS를 내리면 브라우져에서 해당 투표소 조회 페이지만 '페이지를 찾을 수 없음' 오류를 보여줍니다.
      3. 투표소 확인 페이지는 아예 별도 WAS, 별도 DB에 네트워크 서비스 포트도 분리되어 있다면
      - 이쪽 네트워크 서비스 포트에 DDoS 공격을 집중하면 해당 페이지를 찾을 수 없다는 오류를 뿜거나 페이지가 하얗게 먹통으로 보이겠죠.

      이 3가지 가정 중 3번은 별로 가능성이 없다고 봅니다. 이왕 DDoS를 할 것이면 멍청하게 저런 티나는 공격을 할 리 없죠. 그냥 메인페이지에 대고 하면 될텐데요.

      2번이라면 WAS를 내려버렸다면 가장 말이 됩니다. DB만 끊은 것이라면 같이 쓰는 DB건 분리 됐건 현상이 다르니 말이 안되구요.
    • 어제 시사매거진에선 이런 얘기는 없었던 것 같은데 아쉽네요.
      좀 더 깊이 파헤쳐봤어야 했는데.
    • 잘 모르지만, 선관위 발표를 이렇게 이해했습니다.
      사용자--웹서버--DB 요렇게 연결되어있다면, 접속이 몰렸을 때, 상대적으로 처리능력이 더 떨어지는 웹서버--DB가 먼저 끊어진 것으로요.
      그러면 DB까지 갔다올 필요가 없는 일부 페이지는 사용자--웹서버 연결만으로도 보이겠죠.
    • 선관위 홈페이지를 quick으로 좀 살펴봤습니다만..규모 있는 SI업체가 만들거나 유지보수한 것으로 보이지는 않습니다.

      일단 java 기반의 홈페이지로 보이고 struts framework 을 사용했군요. 이건 공개 프레임웍입니다. WAS는 jeus를 썼네요. 그 유명한 티맥스사 제품이죠. 아마 공공기관은 티맥스가 납품을 많이 했죠. 가격이 싸기도 합니다. 경쟁 제품인 WebLogic에 비한다면.. 그리고 웹페이지들에 주석으로 막혀 있긴 하지만, debug 코드가 그대로 남아 있고 심지어는 개발자의 메일주소도 기록되어 있습니다.

      이걸로 보아 빅3에서 SI나 SM 하는 것 같지는 않고 중급 규모 정도의 업체가 담당하는 것으로 보입니다.
      그리고 대부분의 페이지는 DB 서버 연결이 필요한 동적 구성을 갖고 있거나 게시판을 포함하고 있으므로 DB서버를 거치지 않아도 서비스 되는 페이지가 좀 보이긴 하지만, 어느 메뉴를 눌러도 DB 연결이 끊어지면 기본적으로 오류가 날 것으로 보입니다. 일단 메인 페이지가 동적 구성되는 페이지입니다. DB 끊기면 메인 페이지에서 500 error 가 보였을 겁니다.
    • 천안함이고 농협이고, 저들이 말하는 걸 사실로 받아들이려면 꽤나 비상식적인 구성과 상황을 몇 겹으로 전제해야 하는 거죠.
    • 지록위마입니다. 그리고 그것이 통하는 세상이라는 거죠.
      인터넷 안 하고 SNS 안 하는 사람들에게는 더더욱...

게시판 2012

번호 제목 글쓴이 조회 날짜
[공지] 게시판 규칙, FAQ, 기타등등 462,407 01-31
[공지] 게시판 관리 원칙. 147,940 12-31
제 트위터 부계입니다. 3 122,151 04-01
130354 새해복 많이 받으세요 10 187 12-31
130353 아바타 3를 보고 유스포 2 192 12-31
130352 [핵바낭] 올해 잉여질 결산 잡담 14 334 12-31
130351 아바타: 불 과 재 보고 왔어요 짤막 소감 6 229 12-31
130350 [영화강추] '척의 일생' 8 249 12-31
130349 흑백요리사 2 8~10회, 싱어게인 4 탑 4 결정 6 285 12-31
130348 Lacombe Lucien(1974) 7 131 12-31
130347 [관리] 25년도 보고 및 신고 관련 정보. 15 324 12-31
130346 Isiah Whitlock Jr. 1954 - 2025 R.I.P. 2 138 12-31
130345 [왓챠바낭] 우편배달부 말고 '포스트맨은 벨을 두번 울린다' 잡담입니다 12 268 12-31
130344 [넷플] 말 많고 탈 많은 '대홍수' 드디어 봤습니다 14 453 12-30
130343 [반말주의] 다들 올해 고생 많았어!! 새해 모두 건강하고 복 터지길 바래!! 12 186 12-30