*** 본 글은 영진출판사에서 제공한 책을 읽고 작성되었습니다. ***
멀웨어 데이터 과학 : 공격 탐지 및 원인 규명 (영진 출판사, 2020)
www.yes24.com/Product/Goods/94771944?OzSrank=1
처음 이 책을 본건 네이버 바이러스제로 카페2에 책 리뷰를 써달라는 홍보 글을 봤을 때 였습니다. 귀차니즘도 있고 머신러닝 관련 내용은 수학이 많이 나올 듯해 그냥 스킵 ~ 그러다 트위터로 영진출판사측에서 책 리뷰를 부탁했습니다. 요즘 머신러닝 얘기가 계속 나오는데 난 딱히 아는게 없으니 이번 기회에 한번 읽어보자고 결정했습니다.
책은 예상보다 얇았습니다.
책의 두께상 상당부분은 생략되었겠구나라고 예상했습니다.
영국 보안업체 소포스(Sophos) 직원이 책을 썼고 기술 검토자에 훌륭한 분석가인 Gabor Szappanos (twitter.com/gaborszappanos)이름을 보니 반가웠습니다. (헝가리도 아시아식으로 성 이름 순인데 Gabor 가 성인지 Szappanos가 성인지 다음에 물어봐야겠습니다.)
* 목차
책 제목에서 인공지능 느낌이 팍팍 납니다. 예상대로 인공지능을 이용한 악성코드 탐지입니다.
실제 1장-5장은 머신러닝 관점에서 악성코드 진단을 위한 특징을 설명하고 6장 부터 머신러닝 기반 악성코드 탐지에 대한 내용입니다. 잠깐 봤는데 수학도 잠깐 잠깐 언급됩니다. (...뒷장은 안 읽을 듯 합니다.)
* 머신러닝을 이용한 악성코드 탐지
머신러닝은 몇년 전 알파고 때문에 널리 알려졌는데 머신러닝을 이용해 악성코드를 진단한다는 건 그 이전에 들었습니다. 머신러닝이 유명해지기 전 부터 머신러닝을 이용해 악성코드를 탐지하는 방안은 꾸준히 연구되고 있었습니다. 초기에는 높은 진단율로 악성코드와의 전쟁에서 승리할 수 있을꺼야라고 생각했지만 문제는 '오진/오탐'입니다. 머신러닝으로 진단율을 90% 이상 올리는건 쉽게되지만 오진율을 낮추는건 매우 힘들다고 합니다.
이 책에서 악성코드 분석과 진단 포인트를 설명하는건 상세하게 나오지는 않습니다. (사실 그런 얘기만해도 책 한권이 더 나옵니다.) 책에서는 파일 포맷, 문자열, 코드, 동적 (행위), 네트워크 등에서 특징을 뽑아 탐지에 이용한다고 설명합니다. 어떻게 보면 이부분이 학습을 위한 데이터 추출이 핵심인데 이 책에서 한계점도 분명히 설명하고 있습니다. 악성 행위가 명확하게 나오는 랜섬웨어는 특징을 뽑는게 상대적으로 쉽습니다. 하지만, 백도어류는 상대적으로 특징을 얻기 어렵습니다. 책에서도 언급되었지만 어떤 악성코드는 자신이 분석 환경인지 검사합니다. 악성코드 파일을 여러개로 나뉘어 온전한 전체 샘플이 없으면 제대로 동작하지 않기도 합니다. 따라서 기존 도구에서 얻을 수 없는 데이터를 위해서 분석 도구를 계속 업데이트 해야 합니다. (즉, 시중에 공개용으로 나와있는 분석 도구들을 사용하다보면 안되는 부분이 많아 결국 뜯어고쳐야 합니다.)
그리고 무엇보다 학습 시키는 샘플일 정말 악성코드여야 합니다. 어떻게보면 당연한 얘기이지만 학습 시키는 데이터가 오염(정상 혹은 손상 포함)되는 일은 자주 있어 샘플을 분석해 악성 유무를 판단할 수 있는 사람도 있어야 합니다.
* 환상에서 벗어나야 하지만
인공지능이 세상을 바꿀 것 처럼 얘기되고 있지만 현재까지는 보안 분야에서 인공지능은 분석가를 도와주는 정도입니다. 사람이 인공지능이 정확하게 학습할 데이터를 계속 가공해야합니다.
인공 지능이 보안 문제를 다 해결 할 수 있다고 얘기하는건 현재까지는 마케팅적 광고에 불과합니다.
하지만, 현재 악성코드의 특징 중 하나가 비슷한 악성코드가 조금씩 달라지는 형태가 상당수 입니다. 이런 부분을 잘 학습된 인공지능이 처리해 준다면 분석가의 노가다(!)를 아주 많이 줄일 수 있습니다.
* 서평
30년 동안 보안 회사에서 해결 못한 악성코드 탐지가 300 페이지도 안되는 이 책이 뚝딱 해결할 수는 없습니다.
이 책이 마음에 드는건 책 판매에는 도움이 안될 수 있는 분명한 독자층에 대한 내용입니다.
'컴퓨터 보안 문제에 데이터 과학을 적용하는 방법에 대해 학습하고자 하는 보안전문들을 대상으로 한다. 만약 당신이 데이터 과학에만 관심이 있고 보안에는 관심이 없다면 이 책은 아마 당신이 찾던 것이 아닐 수도 있다.'
5장까지는 악성코드 분석에 대한 내용인데 대략적인 내용만 나와서 악성코드 분석 경험이 없다면 해당 내용을 바탕으로 다른 자료를 참고해 분석 능력을 키워야 합니다. 악성코드 분석 능력 없이 바로 6장으로 넘어갈 수도 있지만 악성코드 분석을 할 수 없으면 잘못된 샘플을 제외 하기도 힘들고 추가적인 특징을 학습시키기도 어렵습니다.
6장 이후는 머신러닝에 대한 부분이고 수학도 일부분 얘기됩니다. (수포자였던 저에게는....망설여집니다.)
(읽는 중....)
*** 본 글은 영진출판사에서 제공한 책을 읽고 작성되었습니다. ***
'문화 > 책' 카테고리의 다른 글
비전공자를 위한 이해할 수 있는 IT지식 ... 인문계를 위한 갑질(?) 가이드 (0) | 2023.08.25 |
---|---|
2011년에 읽은 책 (8) | 2011.08.15 |
2010년에 읽은 책 (10) | 2010.11.10 |
이제 슬슬 준비할 때 ... 30대, 평생 일자리에 목숨 걸어라 (0) | 2010.11.09 |
제목에 대한 답은 찾지 못했다 ... 왜 일하는가 (0) | 2010.09.15 |