이번에 발생한 소위 인터넷 대란을 겪으면서 불합리성의 대명사인 KT의 시스템을 다시 한번 확인하게 되었습니다. 저희 회사의 모든 서버들은 목동 KTIDC내에 위치하고 있습니다. 25일 오후 2시 경 부터 발생한 KT 기간 백본망의 네트웍 이상으로 인해 저희 회사의 서버들의 서비스 들이 운영되지 못했습니다. 서버가 다운된 것이 아니라 네트웍에 비정상적인 과도한 패킷때문에 네트웍이 다운 된 것입니다. 이는 마치 고속도로에 차가 너무 많아서 트래픽 잼이 있어나는 것과 같은 현상입니다.
KT는 이 사고가 일어나자 마자 혜화전화국의 DNS서버가 중단 되었으며, 이는 1시간 만에 복구했다고 했습니다. 그러나, 인터넷 불통 사고는 전국 네트웍으로 번졌고 11시간이 넘어서야 간신히 원인과 복구가 어느정도 이루어졌습니다. 아시다 시피 원인은 MSSQL서버의 취약성을 이용한 웜바이러스 였습니다.
이번 웜바이러스는 MSSQL서버의 1434포트의 취약성을 틈타 무작위로 서버의 인터넷주소(IP)를 선정해 초당 1MB이상 큰 용량의 패킷을 취약점이 있는 또 다른 SQL서버에 보내 서버에 부하를 일으켜 시스템을 다운시킨다고 알려져 있습니다. 이러한 데이터가 마구 생성되면 네트웍의 트래픽이 급격히 늘어나고, 어떤 MSSQL서버의 경우 100Mbps가 넘는 트래픽도 유발했다고 합니다.
KT는 사건 최초 발생 당시 DNS서버가 다운되었다고 했다가,나중에는 서버가 다운된 것이 아니라 네트웍의 트래픽이 과다해서 운영이 되지 않았던 것 처럼 말을 바꾸었습니다.
원래 DNS(Domain Name Server)는 53번의 UDP포트를 이용하고 대체로 53번 포트 이외에는 열지 않기 때문에, 외부의 감염된 MSSQL서버가 특정 DNS를 집중 공격했다는 것은 맞지 않는 말입니다. 만약 MSSQL서버들이 DNS를 공격하기 위해 53번 포트로 dns request를 생성 했다 하더라도 이 query는 DNS가 분산 DB인 관계로 서버 구조상 해외의 상위 root server에도 영향을 주기 때문에, 우리 나라만 그것도 특정 ISP의 DNS만 당한다는 것은 있을 수가 없습니다. 뿐만 아니라 기간망의 DNS서버들이 모두 침입탐지시스템(IDS)이나 방화벽 내에 있기 때문에, 외부에서 막혀진 포트로 그런 공격이 오더라도 대부분 막아내게 됩니다.
그러나, 공격을 당했다는 것은 KT의 DNS서버 방화벽에 분명히 DB접속을 위해 1434번 포트가 열려 있었다는 것이고, 공격을 당한 MSSQL서버가 또한 보안패치가 되어 있지 않았다는 것을 반증합니다. 만약 그렇지 않다면 KT 내부에서 누군가가 외부를 공격했던지, KT 내부에 방화벽이 없었다는 결론이 나옵니다. 어떤 결론이든 KT가 책임질 수 밖에 없는 상황이라고 보여집니다.
따라서, KT의 발표대로 처음 DNS 서버가 다운되었다는 것은 DNS의 DB 서버로 MSSQL을 사용했다는 점과 이 서버들이 웜에 대한 패치가 되지 않았으며, 실제로 이 서버들이 다른 MSSQL서버들을 공격했을 것이라는 당연한 귀결이 나옵니다.
KT 기간망 내의 발생된 엄청난 패킷은 백본을 다운 시키게 되고, 인터넷 속도를 느려지게 만듭니다. 그러면 다른 ISP 로 부터의 접속 역시 정체되어 속도가 같이 느려지게 되겠지요. 실제로 저희 회사의 서버가 KT-IDC에 있었는데, 몇시간 동안 네트웍 다운 현상이 있었습니다. 그에 비해 KIDC 등 타 IDC서버들은 정상적으로 작동했던 것으로 보입니다. KT가 원인규명을 못하고 DNS서버를 복구시키려고 노력하고 있을때 이미 DNS서버의 DB서버들이 KT내와 타 ISP의 MSSQL서버들을 공격하고 있었을 것이고, 결국 전국적인 네트웍 다운을 만들 수 밖에 없었을 것으로 추측됩니다.
물론 우리나라 개발자들의 MS제품 의존도가 매우 높고, 전자상거래와 인터넷 서비스에서 MSSQL이 보편적인 DB시스템인데다가 대부분 DB서버를 로컬 네트웍에 두지 않고, 개발 편의를 위해 인터넷에 개방한다는 점 그리고 보안 의식이 취약하다는 점 모두가 이 사고를 발생시킨 원인이며, 이는 결국 우리나라 보안 의식의 취약점을 반증한다고 볼수 있습니다.
보라넷을 쓰고 회사내에 MSSQL서버가 없는데다 유닉스 기반의 DNS서버를 자체로 운영하는 저희 회사는 며칠 동안 단절현상은 커녕 비이상적인 패킷이 유입되지도 않았습니다. 저희 회사에서 여러 네트웍으로 ping(데이터 정상여부 검증도구)을 이용하여 본 결과, KT이외 망은 토요일 3시 이전까지 별 이상이 없었습니다.
KT와 같은 국가 기간전산망에서 소스코드가 공개되어 있지 않은 소프트웨어를 사용하는 것 자체가 문제가 있다고 생각합니다. 소스코드가 공개되어 있지 않아서 보안상 더 안전하다는 주장은 이번 사태에 의해 허구임이 극명히 드러났고, 소스코드가 공개되어 있지 않았기 때문에 또다시 어떤 문제점이 발생될지 모르는 상황과 프로그램이 어떻게 동작하는지 100% 모르는 상황에서 국가 기간전산망을 이에 의존해 운영하는 것은 오히려 더욱 위험한 일이 아닐까 합니다.
이번 일을 계기로 적어도 정부나 공공기관의 전산망 운영시에는 소스코드가 공개된 운영체제/소프트웨어를 사용해야 한다는 주장이 설득력을 가질 수 있기를 바랍니다....
신문이나 정통 언론 어디에서도 마이크로소프트사가 근원적으로 잘못한것에 대해서는 한마디도 없더군요. 무조껀 운영자가 잘못했다고 몰아 붙이더군요. 그렇게 많은 윈도그NT 와 MS-SQL 을 팔아먹으면서 완전히 봉으로 아는 넘들이나, 그것에 장단맞추는 정부나, 대표적 IT 기업이나...
MS 제품 속을 들여다 볼 수 없다는 것이죠. 아예 못 들여다보면 OS/2 라든가 그런 식으로 안전하기라도 하다면 모를까... 겉만 이쁘게 꾸며놓으니...
어제 학교에서 모두 MSSQL SP3 패치 받느라 난리더군요. .NET 을 깐 것도 아니고, MSSQL 을 깔지도 않은 사람들도 다 받느라... 아예 공문으로 내려오는 바람에 더 난리를 떨었죠. 심지어 어떤 교수님은 매킨토시를 쓰심에도 불구하고 .. 다운을 받으시더군요.
제가 장난삼아 돌리는 컴중 한대가 넥스트스텝 머신인데... 이걸 NFS 서버로 해서 제 실험 데이타나 그런 것을 넣어두는데, 그것도 '서버'라며 패치하라고 하는데... 환장하겠대요.
쩝... 하여간에 보안패치는 제목이라도 읽어야 합니다. 그래야 자기한테 관련된 걸 찾을 수 있죠. 물론, MS 가 ... 나쁘기도 하지만, 그나마 패치라도 했다면 이런 문제는 없었을텐데... 쩝
이하 잡담.. ----------
토요일 오후에 아르바이트 하는 서버(양재 구 psinet 에 위치)가 안된다며 오라더군요. 용산에서 돌아댕기다 말고 택시타고 날아가서 보니 ... 우리 서버는 멀쩡 ... 옆에 있는 윈도 서버들은 다들 뛰어와서 정신 못차리는데, 저는 겨우 겨우 irc 에 들어가서 노닥노닥... 앗.. 네트웍 절단...
오후 2시 45분에 죽었다가 4시쯤 다시 살아났다가 5 시 좀 안돼서 다시 전체 네트웍 다운...
간김에 up2date 나 하려다가 이것도 네트웍이 죽었으니 말짱 꽝...
그냥 /tmp 나 좀 정리하고 db 백업 받아서 옆에 있는 백업용 컴에 저장시키고, 또 놀다가 6시 좀 지나서 나왔습니다. 그때까지도 윈도 서버 관리자들은 우왕좌왕... 핸드폰은 불나더군요.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
소스는 '일부에게' 공개 되어 있습니다. 일반인이 구하기는 어렵지만, eComstation 이란 곳과 몇몇곳에 공개 되어 있어서 거기서 유출된 것이 꽤 돌아다닙니다. - 전번에 받아서 씨디 궈놨다가 이사하면서 증발을...
보안상으로는 ... 일단 만일 시스템 파일(커널 레벨 링 0, 1 에서 도는 것들)이 손상이 되거나 커널의 허락없이 수정이 되면 바로 시스템이 다운되고 리부팅되면서 복구가 됩니다. - 윈도 2000 부터 이 개념을 조금 끌어들이긴 했는데, 영 ... 띨하죠. - 이게 좀 사용자에겐 불편하긴 합니다. 예를 들어서 비디오 카드 드라이버를 바꾸거나 할 경우에 어떨 땐 2번 리부팅해야 합니다. 윈도의 서비스팩에 해당하는 픽스팩의 경우도 2번 리부팅해야 하는 경우도 있고요. 게다가 오투의 부팅속도는 느리기로 유명하죠. 리눅스가 1분 걸린다면 오투는 3 분은 걸리니까요.
TCP/IP 쪽 보안을 말하면 워프 4 에 기본으로 들어 있는 것은 TCP/IP 4.0 버전인데, 이걸 업그레이드하면 4.3 버전까지 나왔습니다. 4.0 버전의 경우, ping 에서 64K 이상의 데이터가 올 경우에 일단 모두 받아들여서 반응을 하게 되는데, 4.1 버전부터는 일단 길이를 체크해서 일정길이 이상의 데이터는 무시해버리거나 drop 시켜버립니다.
또 웜이나 바이러스 같은 경우에도 만일 메모리를 마구 잡아먹는 놈이 있다고 하더라도 그놈을 죽인다면(CAD 툴이라 하여 ctrl-alt-del 을 눌러서 프로세스 관리하는 프로그램이 있습니다. 한글버전에서는 작동안한다는 문제점이 있습니다만... 윈도 2000 에서도 비슷한 게 뜨죠. 하지만, 오투껀 훨씬 더 강력합니다.) 끝입니다. 비슷한 이유로 하드디스크에 바이러스가 있다고 하고 그 바이러스에 걸린 프로그램을 실행시킨다고 할 때 그 바이러스는 자기가 떠 있는 메모리 공간에서만 활동할 뿐 다른 공간으로 넘어갈 수 없습니다. - OS/2 의 메시지큐는 1개라서 모든 걸 커널이 관할하기 때문에 이런 경우에 좀 느려지거나 하는 경우가 발생하곤 합니다. 하지만, 최소한 커널이 관리하는 부분으로는 넘어가지 못합니다.
실제로 OS/2 용 웜 및 바이러스는 3종류가 있습니다.(몇가지가 더 있는데, 그건 그것들의 아류수준) 하지만, 그 바이러스/웜 에 대한 패치는 이미 픽스팩에 적용되어 있고, 실제로도 퍼지지 못하고 있습니다. 가장 강력했던 웜이 ... 2000년 만우절 때에 러시아에서부터 퍼졌던 것인데, 하드디스크에 마구 더미 데이터를 써서 용량부족으로 다운시키는 것인데, 이 경우 startup.cmd 라는 파일(도스나 윈도로 따지면 autoexec.bat 에 해당)을 텍스트 에디터로 열고 hddworm.exe (파일 이름은 지멋대로 바꿉니다. 파일이름은 제가 임의로 만든 겁니다.)라는 줄을 찾아서 지우기만 하면 되는 것이었습니다.
그리고 리부팅하고 나서 \os2\dll 에 있는 hddworm.exe 라는 것을 찾아서 지우면 됩니다. 바이러스의 전송경로는 메일로 퍼졌고, MS Outlook 처럼 받기만 한다고 걸리는 건 아니고 받아서 실행을 시켰을 경우에 퍼졌습니다.
더불어... OS/2 를 쓰는 사용자 수가 적다는 것이 바이러스가 적다는 이유도 되겠죠. 사용자가 적으니 바이러스 만드는 사람도 적고 .. 뭐 그렇죠.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
저는 이 문제가 오픈소스와는 관련성이 적다고 생각합니다.
오픈소스 제품을 써도 문제는 생겼을 겁니다.
왜냐면, 이번에 문제가 생긴 곳이 24h 365d의 기간망 시스템이었기 때문입니다.
일반적으로 크리티컬 서버일수록 패치를 잘 안합니다.
패치했다가 어떤 문제가 생길지 모르기 때문입니다.
(아무리 오픈소스일지라도 관리자가 모든 패치 내용까지 일일히 추적하기는 힘듭니다. 몇몇 패치의 README 1~2개나 읽어보면 다행일겁니다.)
패치해서 이상 없으면 상관 없지만, 만약 다른 어플리케이션과 충돌을 일으켜서 어플리케이션이 정상동작을 하지 못한다면 어떻게 될까요?
커널이나 DB등 크리티컬 패치일수록 되도록 안건드리려 하는 경향이 강합니다.
24h 365d 기간시스템의 책임자가 시스템을 변경하도록 두겠습니까..
경험 많은 엔지니어일수록 패치가 나오자마자 즉시 적용하거나 하지 않습니다.
짧으면 2-3주, 길게는 6개월까지 지켜본 이후 적용하는게 일반적인 룰입니다.
이번 MS-SQL SP3 패치는 SP2가 없으면 DB가 깨질 위험이 있습니다.
근데 그 공지가 뜬건 SP3로 인해 DB를 깨먹은 사용자들이 나온 이후였습니다.
(SP3 하면 된다고 패치한 사용자들중 여럿 DB 꺠먹었습니다.)
분명 어떤 사용자가 뭔가 안된다고 하면 또 고치고 하는건 오픈소스 진영이라고 특별히 다르진 않을겁니다.
문제가 생기면 즉시 새로운 패치가 올라오는건 오픈소스 진영의 장점일지도 모르나, 기간시스템에서 안되면 고치자 식으로의 접근은 매우 위험합니다.
저도 개인적으로 고생했던 사례가, PHP 4.0.xpl1이 나온지 한 1주일쯤 되었을때 받아서 컴파일해보니 아무리 옵션을 바꿔도 안되더군요. 소스코드를 봐도 뭐가뭔지 모르겠고.. (C정도는 할 줄 압니다만, 한번 본다고 모든 구조를 알수는 없죠)
결국 4.0.x 버젼 (pl1이 없는버젼) 을 찾아 컴파일해서 해결했습니다.
너무 이른것도 좋지 않다는 경험이었죠.
생각해보면, 정말 그런 기간망들에서는 패치 한번 적용하는것도 매우매우 힘들 것입니다. 말그대로 24h365d 작동해야 하니깐요...
결국은 장기간에 걸쳐서 검증받은 solution을 이용해야 한다는 것인데요....
장기간에 걸쳐서 꾸준하게 fix를 하여서 (almost)bug-free한 프로그램을....
즉, 기능은 정말정말x1000 필요한 것만 있고, 그 이외에는 하나도 없는...
그런 면에서 MS솔루션은 빵점이죠....
하지만 리눅스 역시 (항상) 능사는 아닌 듯 싶습니다...
예를들어, redhat 8.x 역시 패치 한달에 몇개씩 꾸역꾸역 나옵니다...
7.x도 꾸준히 나오고.....
debian 역시 fix가 꾸준히 나오고 있죠?
음... 현재 상황에서...
version이 어느정도까지 내려가야 매우 안정된 프로그램이라 할 수 있을까요?
그게 궁금하군요... -0-
음... 만일 KT가 MS로 DNS를 운영했다면, 혜화전화국 앞에서 촛불시위라도 해야겠군요... -0-
Consider the ravens: for they neither sow nor reap; which neither have storehouse nor barn; and God feedeth them: how much more are ye better than the fowls?
Luke 12:24
저도 정말 어이가 없습니다.
오마이뉴스의 기사를 읽어보니까, DNS 서버 조차도 Windows를 쓴다고
하더군요.
KT가 MS랑 제휴(?) 하며서 서버들은 웹부터 DNS까지 몽당 Windows로
바꿨다는군요.
암담합니다.
--
Minimalist Programmer
헐...
정말 KT가 DNS 서버에 윈도우를 사용했나요? 이거 의외네요..
여튼간에 어제 하루종일 엄청 고생했네요;;; 다른분들도 고생 많으셨어요.. ㅡ_ㅡ;
[color=white][/color]
Visual Studio .NET 사용자도 패치해야 합니다.
Visual Studio .NET에도 SQL Server 데스크탑 엔진 (MSDE)이 들어 있습니다.
이 녀석도 패치해줘야 할 대상입니다.
KT 상위DNS서버가 윈도우라고요?
음..
-- 혹시 DNS 서버가 거느리고 있는 데이터베이스가 SQL 서버를 이용해서 문제가 생긴 것은 아닌가.
▲(한국통신 인터넷통신팀장) 아니다. KT가 관리하는 문제의 DNS 서버는 유닉스를 운영체제로 사용하고 있으며 콤팩 서버 10대, IBM 2대로 구성돼 있으며 데이터베이스에도 MS-SQL 서버를 쓰지 않는다.
(정통부 관계자) 다른 ISP의 경우도 보안 패치 등은 철저하게 제때 이뤄졌기 때문에 ISP 차원에서 DNS 서버가 감염되거나 하지는 않았다. ISP쪽에 문제가 생긴 것은 트래픽 때문이지 ISP쪽 서버가 감염돼서 그런 것은 아니다. 그 점은 안심해도 좋다. 링크
이라는데... @.@
그리고 이건 DNS서버문제가 아니라 일반 기업들의 문제들 아닙니까?
국내의 여러 MSSQL쓰는 기업들이 서버관리를 소흘히 해서 문제가 커졌다는데..
그런 웜이 상주해 있는 서버가 상위 DNS서버에 이상패킷을 다량으로 보내서
KT DNS서버가 다운된거 아닙니까?
더 자세한건 시간이 더 지나야 할라나....
그나저나 정통부의 "대국민행동강령"... -_-;
제 친구들 너도나도 받으려고 하더군요.. SQL에 S도 모르는 친구들이..
너무 성급한 대책이지 않았나 싶습니다. 너무나...
- 행동은 말보다 귀하고 값지다 ! -
(어떤 부페 예식장 계단에서.. -_-;
[color=white][/color]
이번 다운 사태는 MSSQL DNS서버가 주범이 확실!
이번에 발생한 소위 인터넷 대란을 겪으면서 불합리성의 대명사인 KT의 시스템을 다시 한번 확인하게 되었습니다. 저희 회사의 모든 서버들은 목동 KTIDC내에 위치하고 있습니다. 25일 오후 2시 경 부터 발생한 KT 기간 백본망의 네트웍 이상으로 인해 저희 회사의 서버들의 서비스 들이 운영되지 못했습니다. 서버가 다운된 것이 아니라 네트웍에 비정상적인 과도한 패킷때문에 네트웍이 다운 된 것입니다. 이는 마치 고속도로에 차가 너무 많아서 트래픽 잼이 있어나는 것과 같은 현상입니다.
KT는 이 사고가 일어나자 마자 혜화전화국의 DNS서버가 중단 되었으며, 이는 1시간 만에 복구했다고 했습니다. 그러나, 인터넷 불통 사고는 전국 네트웍으로 번졌고 11시간이 넘어서야 간신히 원인과 복구가 어느정도 이루어졌습니다. 아시다 시피 원인은 MSSQL서버의 취약성을 이용한 웜바이러스 였습니다.
이번 웜바이러스는 MSSQL서버의 1434포트의 취약성을 틈타 무작위로 서버의 인터넷주소(IP)를 선정해 초당 1MB이상 큰 용량의 패킷을 취약점이 있는 또 다른 SQL서버에 보내 서버에 부하를 일으켜 시스템을 다운시킨다고 알려져 있습니다. 이러한 데이터가 마구 생성되면 네트웍의 트래픽이 급격히 늘어나고, 어떤 MSSQL서버의 경우 100Mbps가 넘는 트래픽도 유발했다고 합니다.
KT는 사건 최초 발생 당시 DNS서버가 다운되었다고 했다가,나중에는 서버가 다운된 것이 아니라 네트웍의 트래픽이 과다해서 운영이 되지 않았던 것 처럼 말을 바꾸었습니다.
원래 DNS(Domain Name Server)는 53번의 UDP포트를 이용하고 대체로 53번 포트 이외에는 열지 않기 때문에, 외부의 감염된 MSSQL서버가 특정 DNS를 집중 공격했다는 것은 맞지 않는 말입니다. 만약 MSSQL서버들이 DNS를 공격하기 위해 53번 포트로 dns request를 생성 했다 하더라도 이 query는 DNS가 분산 DB인 관계로 서버 구조상 해외의 상위 root server에도 영향을 주기 때문에, 우리 나라만 그것도 특정 ISP의 DNS만 당한다는 것은 있을 수가 없습니다. 뿐만 아니라 기간망의 DNS서버들이 모두 침입탐지시스템(IDS)이나 방화벽 내에 있기 때문에, 외부에서 막혀진 포트로 그런 공격이 오더라도 대부분 막아내게 됩니다.
그러나, 공격을 당했다는 것은 KT의 DNS서버 방화벽에 분명히 DB접속을 위해 1434번 포트가 열려 있었다는 것이고, 공격을 당한 MSSQL서버가 또한 보안패치가 되어 있지 않았다는 것을 반증합니다. 만약 그렇지 않다면 KT 내부에서 누군가가 외부를 공격했던지, KT 내부에 방화벽이 없었다는 결론이 나옵니다. 어떤 결론이든 KT가 책임질 수 밖에 없는 상황이라고 보여집니다.
따라서, KT의 발표대로 처음 DNS 서버가 다운되었다는 것은 DNS의 DB 서버로 MSSQL을 사용했다는 점과 이 서버들이 웜에 대한 패치가 되지 않았으며, 실제로 이 서버들이 다른 MSSQL서버들을 공격했을 것이라는 당연한 귀결이 나옵니다.
KT 기간망 내의 발생된 엄청난 패킷은 백본을 다운 시키게 되고, 인터넷 속도를 느려지게 만듭니다. 그러면 다른 ISP 로 부터의 접속 역시 정체되어 속도가 같이 느려지게 되겠지요. 실제로 저희 회사의 서버가 KT-IDC에 있었는데, 몇시간 동안 네트웍 다운 현상이 있었습니다. 그에 비해 KIDC 등 타 IDC서버들은 정상적으로 작동했던 것으로 보입니다. KT가 원인규명을 못하고 DNS서버를 복구시키려고 노력하고 있을때 이미 DNS서버의 DB서버들이 KT내와 타 ISP의 MSSQL서버들을 공격하고 있었을 것이고, 결국 전국적인 네트웍 다운을 만들 수 밖에 없었을 것으로 추측됩니다.
물론 우리나라 개발자들의 MS제품 의존도가 매우 높고, 전자상거래와 인터넷 서비스에서 MSSQL이 보편적인 DB시스템인데다가 대부분 DB서버를 로컬 네트웍에 두지 않고, 개발 편의를 위해 인터넷에 개방한다는 점 그리고 보안 의식이 취약하다는 점 모두가 이 사고를 발생시킨 원인이며, 이는 결국 우리나라 보안 의식의 취약점을 반증한다고 볼수 있습니다.
보라넷을 쓰고 회사내에 MSSQL서버가 없는데다 유닉스 기반의 DNS서버를 자체로 운영하는 저희 회사는 며칠 동안 단절현상은 커녕 비이상적인 패킷이 유입되지도 않았습니다. 저희 회사에서 여러 네트웍으로 ping(데이터 정상여부 검증도구)을 이용하여 본 결과, KT이외 망은 토요일 3시 이전까지 별 이상이 없었습니다.
이 내용은 그동안의 개인적인 경험과 그 당시 상황을 비추어 만든 제 개인적인 판단입니다.
Channy Yun
Mozilla Korean Project
http://www.mozilla.or.kr
KT와 같은 국가 기간전산망에서 소스코드가 공개되어 있지 않은 소프트웨어
KT와 같은 국가 기간전산망에서 소스코드가 공개되어 있지 않은 소프트웨어를 사용하는 것 자체가 문제가 있다고 생각합니다. 소스코드가 공개되어 있지 않아서 보안상 더 안전하다는 주장은 이번 사태에 의해 허구임이 극명히 드러났고, 소스코드가 공개되어 있지 않았기 때문에 또다시 어떤 문제점이 발생될지 모르는 상황과 프로그램이 어떻게 동작하는지 100% 모르는 상황에서 국가 기간전산망을 이에 의존해 운영하는 것은 오히려 더욱 위험한 일이 아닐까 합니다.
이번 일을 계기로 적어도 정부나 공공기관의 전산망 운영시에는 소스코드가 공개된 운영체제/소프트웨어를 사용해야 한다는 주장이 설득력을 가질 수 있기를 바랍니다....
정말 화가 가는것은 말이죠~~~~~
정말 화가 가는것은 말이죠~~~~~
신문이나 정통 언론 어디에서도 마이크로소프트사가 근원적으로 잘못한것에 대해서는 한마디도 없더군요. 무조껀 운영자가 잘못했다고 몰아 붙이더군요. 그렇게 많은 윈도그NT 와 MS-SQL 을 팔아먹으면서 완전히 봉으로 아는 넘들이나, 그것에 장단맞추는 정부나, 대표적 IT 기업이나...
마이크로 소프트의 로비력을 실감하는 사건이었다고 생각합니다.
네티즌이 규합해서라도 마이크로소프트에 손해배상을 청구해야 하는거 아닐까요? 미군의 장갑차 사건처럼 말입니다.
나쁜넘의 빌게이츠~~~
- 겨울아찌 -
- 겨울아찌 -
winchild@gmail.com
SQL이 아닌 IIS를 노렸다면?
만약 이번 웜이 SQL이 아닌 IIS를 노렸다면 그 피해는 몇 배나 더 커졌을까요?
아직도 apache 로그에 간간이 보이는 Code Red/Nimda 계열의 흔적을 볼 때, 훨씬 더 광범위한 피해를 주지 않았을까요? SQL 서버 댓수보다 IIS 서버 댓수가 훨씬 더 많죠?
게다가 이번엔 라우터에서 1434 포트만 막으면 끝이었지만, IIS의 버그를 막는다고 80번 포트를 막아서 대처할 수 있었을까요?
KT와 한국통신만 욕할 게 아닙니다. 윈도즈 탓만도 아닙니다. Linux가 더 널리 퍼졌다면 Redhat 6.X의 보안 구멍을 이용한 웜이 나왔을 겁니다.
결론: 관리자는 보안 패치 열심히 하고, 프로그래머는 버그(특히 버퍼 오버플로)없는 프로그램 짭시다. :(
제가 생각하는 문제점은...
MS 제품 속을 들여다 볼 수 없다는 것이죠. 아예 못 들여다보면 OS/2 라든가 그런 식으로 안전하기라도 하다면 모를까... 겉만 이쁘게 꾸며놓으니...
어제 학교에서 모두 MSSQL SP3 패치 받느라 난리더군요. .NET 을 깐 것도 아니고, MSSQL 을 깔지도 않은 사람들도 다 받느라... 아예 공문으로 내려오는 바람에 더 난리를 떨었죠. 심지어 어떤 교수님은 매킨토시를 쓰심에도 불구하고 .. 다운을 받으시더군요.
제가 장난삼아 돌리는 컴중 한대가 넥스트스텝 머신인데... 이걸 NFS 서버로 해서 제 실험 데이타나 그런 것을 넣어두는데, 그것도 '서버'라며 패치하라고 하는데... 환장하겠대요.
쩝... 하여간에 보안패치는 제목이라도 읽어야 합니다. 그래야 자기한테 관련된 걸 찾을 수 있죠. 물론, MS 가 ... 나쁘기도 하지만, 그나마 패치라도 했다면 이런 문제는 없었을텐데... 쩝
이하 잡담.. ----------
토요일 오후에 아르바이트 하는 서버(양재 구 psinet 에 위치)가 안된다며 오라더군요. 용산에서 돌아댕기다 말고 택시타고 날아가서 보니 ... 우리 서버는 멀쩡 ... 옆에 있는 윈도 서버들은 다들 뛰어와서 정신 못차리는데, 저는 겨우 겨우 irc 에 들어가서 노닥노닥... 앗.. 네트웍 절단...
오후 2시 45분에 죽었다가 4시쯤 다시 살아났다가 5 시 좀 안돼서 다시 전체 네트웍 다운...
간김에 up2date 나 하려다가 이것도 네트웍이 죽었으니 말짱 꽝...
그냥 /tmp 나 좀 정리하고 db 백업 받아서 옆에 있는 백업용 컴에 저장시키고, 또 놀다가 6시 좀 지나서 나왔습니다. 그때까지도 윈도 서버 관리자들은 우왕좌왕... 핸드폰은 불나더군요.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
Re: 제가 생각하는 문제점은...
OS/2도 소스공개는 안돼 있을 텐데 MS제품과 비교해서 보안상 어떤 점이 다른지요?
[quote]OS/2도 소스공개는 안돼 있을 텐데 MS제품과 비교해서 보
소스는 '일부에게' 공개 되어 있습니다. 일반인이 구하기는 어렵지만, eComstation 이란 곳과 몇몇곳에 공개 되어 있어서 거기서 유출된 것이 꽤 돌아다닙니다. - 전번에 받아서 씨디 궈놨다가 이사하면서 증발을...
보안상으로는 ... 일단 만일 시스템 파일(커널 레벨 링 0, 1 에서 도는 것들)이 손상이 되거나 커널의 허락없이 수정이 되면 바로 시스템이 다운되고 리부팅되면서 복구가 됩니다. - 윈도 2000 부터 이 개념을 조금 끌어들이긴 했는데, 영 ... 띨하죠. - 이게 좀 사용자에겐 불편하긴 합니다. 예를 들어서 비디오 카드 드라이버를 바꾸거나 할 경우에 어떨 땐 2번 리부팅해야 합니다. 윈도의 서비스팩에 해당하는 픽스팩의 경우도 2번 리부팅해야 하는 경우도 있고요. 게다가 오투의 부팅속도는 느리기로 유명하죠. 리눅스가 1분 걸린다면 오투는 3 분은 걸리니까요.
TCP/IP 쪽 보안을 말하면 워프 4 에 기본으로 들어 있는 것은 TCP/IP 4.0 버전인데, 이걸 업그레이드하면 4.3 버전까지 나왔습니다. 4.0 버전의 경우, ping 에서 64K 이상의 데이터가 올 경우에 일단 모두 받아들여서 반응을 하게 되는데, 4.1 버전부터는 일단 길이를 체크해서 일정길이 이상의 데이터는 무시해버리거나 drop 시켜버립니다.
또 웜이나 바이러스 같은 경우에도 만일 메모리를 마구 잡아먹는 놈이 있다고 하더라도 그놈을 죽인다면(CAD 툴이라 하여 ctrl-alt-del 을 눌러서 프로세스 관리하는 프로그램이 있습니다. 한글버전에서는 작동안한다는 문제점이 있습니다만... 윈도 2000 에서도 비슷한 게 뜨죠. 하지만, 오투껀 훨씬 더 강력합니다.) 끝입니다. 비슷한 이유로 하드디스크에 바이러스가 있다고 하고 그 바이러스에 걸린 프로그램을 실행시킨다고 할 때 그 바이러스는 자기가 떠 있는 메모리 공간에서만 활동할 뿐 다른 공간으로 넘어갈 수 없습니다. - OS/2 의 메시지큐는 1개라서 모든 걸 커널이 관할하기 때문에 이런 경우에 좀 느려지거나 하는 경우가 발생하곤 합니다. 하지만, 최소한 커널이 관리하는 부분으로는 넘어가지 못합니다.
실제로 OS/2 용 웜 및 바이러스는 3종류가 있습니다.(몇가지가 더 있는데, 그건 그것들의 아류수준) 하지만, 그 바이러스/웜 에 대한 패치는 이미 픽스팩에 적용되어 있고, 실제로도 퍼지지 못하고 있습니다. 가장 강력했던 웜이 ... 2000년 만우절 때에 러시아에서부터 퍼졌던 것인데, 하드디스크에 마구 더미 데이터를 써서 용량부족으로 다운시키는 것인데, 이 경우 startup.cmd 라는 파일(도스나 윈도로 따지면 autoexec.bat 에 해당)을 텍스트 에디터로 열고 hddworm.exe (파일 이름은 지멋대로 바꿉니다. 파일이름은 제가 임의로 만든 겁니다.)라는 줄을 찾아서 지우기만 하면 되는 것이었습니다.
그리고 리부팅하고 나서 \os2\dll 에 있는 hddworm.exe 라는 것을 찾아서 지우면 됩니다. 바이러스의 전송경로는 메일로 퍼졌고, MS Outlook 처럼 받기만 한다고 걸리는 건 아니고 받아서 실행을 시켰을 경우에 퍼졌습니다.
더불어... OS/2 를 쓰는 사용자 수가 적다는 것이 바이러스가 적다는 이유도 되겠죠. 사용자가 적으니 바이러스 만드는 사람도 적고 .. 뭐 그렇죠.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
저는 이 문제가 오픈소스와는 관련성이 적다고 생각합니다.오픈소스 제품
저는 이 문제가 오픈소스와는 관련성이 적다고 생각합니다.
오픈소스 제품을 써도 문제는 생겼을 겁니다.
왜냐면, 이번에 문제가 생긴 곳이 24h 365d의 기간망 시스템이었기 때문입니다.
일반적으로 크리티컬 서버일수록 패치를 잘 안합니다.
패치했다가 어떤 문제가 생길지 모르기 때문입니다.
(아무리 오픈소스일지라도 관리자가 모든 패치 내용까지 일일히 추적하기는 힘듭니다. 몇몇 패치의 README 1~2개나 읽어보면 다행일겁니다.)
패치해서 이상 없으면 상관 없지만, 만약 다른 어플리케이션과 충돌을 일으켜서 어플리케이션이 정상동작을 하지 못한다면 어떻게 될까요?
커널이나 DB등 크리티컬 패치일수록 되도록 안건드리려 하는 경향이 강합니다.
24h 365d 기간시스템의 책임자가 시스템을 변경하도록 두겠습니까..
경험 많은 엔지니어일수록 패치가 나오자마자 즉시 적용하거나 하지 않습니다.
짧으면 2-3주, 길게는 6개월까지 지켜본 이후 적용하는게 일반적인 룰입니다.
이번 MS-SQL SP3 패치는 SP2가 없으면 DB가 깨질 위험이 있습니다.
근데 그 공지가 뜬건 SP3로 인해 DB를 깨먹은 사용자들이 나온 이후였습니다.
(SP3 하면 된다고 패치한 사용자들중 여럿 DB 꺠먹었습니다.)
분명 어떤 사용자가 뭔가 안된다고 하면 또 고치고 하는건 오픈소스 진영이라고 특별히 다르진 않을겁니다.
문제가 생기면 즉시 새로운 패치가 올라오는건 오픈소스 진영의 장점일지도 모르나, 기간시스템에서 안되면 고치자 식으로의 접근은 매우 위험합니다.
저도 개인적으로 고생했던 사례가, PHP 4.0.xpl1이 나온지 한 1주일쯤 되었을때 받아서 컴파일해보니 아무리 옵션을 바꿔도 안되더군요. 소스코드를 봐도 뭐가뭔지 모르겠고.. (C정도는 할 줄 압니다만, 한번 본다고 모든 구조를 알수는 없죠)
결국 4.0.x 버젼 (pl1이 없는버젼) 을 찾아 컴파일해서 해결했습니다.
너무 이른것도 좋지 않다는 경험이었죠.
[quote]분명 어떤 사용자가 뭔가 안된다고 하면 또 고치고 하는건 오
저두 seearomi 님의 의견에 어느 정도 동의합니다.
하지만 그래도 OpenSource쪽이 해결 방법이 되지 않을까요?
그래도 말입니다.
어떤 대책이든 완벽할 수는 없습니다.
최선의 대책을 써야겠죠. 저는 그게 OpenSource라고 봅니다.
문근영 너무 귀여워~~
일단.......
어떤 이유든지간에 KT쪽에서 책임을 면하기는 힘들 것 같습니다....
생각해보면, 정말 그런 기간망들에서는 패치 한번 적용하는것도 매우매우 힘들 것입니다. 말그대로 24h365d 작동해야 하니깐요...
결국은 장기간에 걸쳐서 검증받은 solution을 이용해야 한다는 것인데요....
장기간에 걸쳐서 꾸준하게 fix를 하여서 (almost)bug-free한 프로그램을....
즉, 기능은 정말정말x1000 필요한 것만 있고, 그 이외에는 하나도 없는...
그런 면에서 MS솔루션은 빵점이죠....
하지만 리눅스 역시 (항상) 능사는 아닌 듯 싶습니다...
예를들어, redhat 8.x 역시 패치 한달에 몇개씩 꾸역꾸역 나옵니다...
7.x도 꾸준히 나오고.....
debian 역시 fix가 꾸준히 나오고 있죠?
음... 현재 상황에서...
version이 어느정도까지 내려가야 매우 안정된 프로그램이라 할 수 있을까요?
그게 궁금하군요... -0-
음... 만일 KT가 MS로 DNS를 운영했다면, 혜화전화국 앞에서 촛불시위라도 해야겠군요... -0-
Consider the ravens: for they neither sow nor reap; which neither have storehouse nor barn; and God feedeth them: how much more are ye better than the fowls?
Luke 12:24