본문 바로가기
정보공유

[정보] [AI TIMES] 'AI' - 인공지능-AI_Security 개발을 위한 시도

by 날고싶은커피향 2018. 3. 27.

[AI TIMES] 'AI' - 인공지능-AI_Security 개발을 위한 시도 관련 자료입니다.

내용 참고 하시기 바랍니다.

 

 

20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11) - 분류 - 공개용 from sangshik min

 

  1. 1. 2017.12.08 민상식, Jason Min 1 지능형 악성코드 선제대응 방법 연구 (자연어처리, 계층형 격리, 가상머신 에뮬레이션 적용) - 공개용 - `17.11~12 정보보호 R&D 데이터 챌린지 – (Track4) 악성코드선제대응
  2. 2. (기준) 300개 지능형 악성코드 분석 (피해보정) 현 지능형 악성코드 통계 조사를 통한 대표성 보정 (성능보정) 악성행위, 피해영향도, 대응실효성 등 종합분석 알고리즘 설계 알고리즘 구현 (모든 코드는 구현하여 검증, Part3 악성코드와 비교 등) 제공된 악성코드를 통한 행위 기본 분석 (가능하면 전수조사 필요) 1단계 : 정적 – PE 특징 추출 2단계 A : 정적 – 자동패킹해제 후 디컴파일(역어셈블) & 코드분석 or IDA, HexRay 최신버전 확인 및 왁보 2단계 B : 동적 - 가상환경에서 동적 데이터 추출(샌드박스 분석툴 등) => 통계분석(방어필요포인트 파악) 기타 - 엔트로피 분석 등 - 가상환경 확인여부 - 인터넷 연결여부 - 인터넷 연결시 로케이션 등 이용자원 확인여부 제공된 악성코드를 통한 행위 기본 분석, Paper, 전문가 분석자료(BlackHat 등) 등 악성코드 Parent Process(정상) ID/Name의 통계적 분석(Fileless, Exploit)을 통한 악성행위 여부 판단 (피해 : 악성코드 동작환경 정의) 보호대상 : 무결성 : 일반파일, OS(레지스트리 등), 메모리, * 서비스 형태 등록 기밀성 : 네트워크(유출) 등 정상파일 악성파일 Grey (지능형 악성 파일) 정상/악성 분류가 어려운 지능형 악성파일(추정)은 기본적으로 예비격리 시킨 상태에서 수행 - 수행 시 가상환경 인것 처럼 시뮬레이션이 가능한 예비격리 환경을 제공하는 등 * 지능형 악성코드의 Anti-탐지 기능을 역 이용 A. 아이디어 구상(개요)
  3. 3. I. 지능형 악성코드 검토 A. 기본분석(제시된 300개 악성코드) a. 정적분석 – PE 추출 후 검토 ① PEStudioX Command Mode b. 정적분석 – 역분석 (BASIC) c. 정적분석 – 역분석 (난독화, 패킹 해제) d. 동적분석 – 가상머신 e. 동적분석 – 리얼머신 (가상머신과 비교를 위해 리얼머신 모니터링 방법론 개발 필요) B. 기본분석 (최근 지능형악성코드, 기능, 가상머신동적분석 회피기술, 피해 등) a. 정보삭제(랜섬웨어 등) b. 시스템(운영체제 및 자료 삭제) 파괴 c. 정보유출(비트코인, 중요정보 등) 악성코드 d. 자원유출(비트코인 마이닝) C. 상세분석 a. 확보된 정보의 분석(통계적 기법 및 머신러닝 등) – NLP 분석 기본정리 II. 지능형 악성코드 선제대응 전략 수립 A. 목적 : 지능형악성코드 선제대응 B. 선제대응 검토결과 a. (기존) 자동분석을 위한 패킹연구, 가상머신 동적분석 등의 기존 방법론은 일반 악성코드 방어에는 적합할 수 있으나 b. (한계) 최신 방어수단을 확인 후 회피기능이 적용된 지능형 악성코드의 방어에는 현실적인 어려움이 있음 c. (결론) 악성행위 직전까지 판단 불가한 지능형 악성코드 선제대응을 위해 “질병관리센터 격리체계”를 수용한 방법론 적용 C. 구현방향 a. 유포지 (인터넷/이메일 서버 영역) – 본 챌린지의 방어영역은 아닌것으로 판단하여 제외 b. 파일 다운로드/감염/수신 & 실행 (이용자 PC) ① (서버) 정보 통합서버 구축 ② (PC) PC(클라이언트) 측 방어 방안 • 기존 유전체분석방법(DNA)에서 실제 코드이해를 위한 자연어처리 (NLP)적용 제안 • 공중보건관리체계를 사이버 보안체계에 접목 - 질병관리센터(CDC) 격리체계 적용 – 격리레벨분석 • 리얾머신 모니터링 기술 설계 (커널 후킹 구현) III. 악성코드 분석 지연을 위한 지능형・고도화 기술(Offensive Research) 제안 A. 정적분석/동적분석이 불가하도록 엔트로피 임의 증가 기술 제안 B. 아이디어 구상(상세 정의)
  4. 4. 1. 지능형 악성코드 분석 (300->295->200)
  5. 5. PE File Analysis MAL
  6. 6. PE File Analysis ★ ★ Unpacking Disassembly MAL
  7. 7. 지능형 악성코드 – 샌드박스 회피 https://www.fireeye.kr/content/dam/fireeye-www/regional/ko_KR/current-threats/pdfs/fireeye-hot-knives-through-butter.pdf SetWinodwsHookExA AntiVM - Dynamic Analysis MAL VM 자동분석 Env
  8. 8. 지능형 악성코드 – 샌드박스 회피 https://www.fireeye.kr/content/dam/fireeye-www/regional/ko_KR/current-threats/pdfs/fireeye-hot-knives-through-butter.pdf MAL
  9. 9. 지능형 악성코드 – 샌드박스 회피 https://www.fireeye.kr/content/dam/fireeye-www/regional/ko_KR/current-threats/pdfs/fireeye-hot-knives-through-butter.pdf Virus Bulletin. “Techniques for Evading Automated Analysis(자동화 분석을 회피하는 기법).” 2013년 2월. MAL
  10. 10. 지능형 악성코드 – 샌드박스 회피 https://www.fireeye.kr/content/dam/fireeye-www/regional/ko_KR/current-threats/pdfs/fireeye-hot-knives-through-butter.pdf MAL
  11. 11. 지능형 악성코드 – 샌드박스 회피 https://www.sans.org/reading-room/whitepapers/forensics/detecting-malware-sandbox-evasion-techniques-36667 Qemu, CWSandbox, Anubis, VMWare Fusion, VMWare Workstation and Virtual Box, Zen vmusrvc.exe, vboxtray.exe, vmtoolsd.exe, df5serv.exe, and vboxservice.exe Once the malware detects a single core, it stops executing. Unpacking malware before analysis malware communicates with remote servers on a network such as a download and C&C servers Malware Sandbox analysis has three important properties: observability, containment, and efficiency AntiVM - Dynamic Analysis MAL
  12. 12. 지능형 악성코드 – 샌드박스 회피 https://www.exploit-db.com/docs/34591.pdf https://gist.github.com/c0d3inj3cT/c 68a203c2c1224df55b3. MAL
  13. 13. 지능형 악성코드 – 샌드박스 회피 http://www.crestandiisp.com/wp-content/uploads/2017/04/MattWixey.pdf MAL
  14. 14. 지능형 악성코드 - Packing (검토결과) 언패킹처리 : 최소 40% 이상 악성코드 분석과 관련됨 https://www.blackhat.com/docs/us-14/materials/us-14-Branco-Prevalent-Characteristics-In-Modern-Malware.pdf MAL
  15. 15. 지능형 악성코드 – Anti_VM (검토결과) VM 자동분석기능으로 동적행위분석 어려움 https://www.blackhat.com/docs/us-14/materials/us-14-Branco-Prevalent-Characteristics-In-Modern-Malware.pdf MAL
  16. 16. 2. 악성코드 분석 지연을 위한 지능형 고도화 기술 (제안)
  17. 17. 악성코드 분석 지연을 위한 지능형・고도화 기술 (Offensive Research) 제안 1. 정적분석 방어 : String, Code 등 실제 실행되지만 결과에 영향을 주지 않는 Dummy 코드 추가, 다중패킹, 자체 VM내장 2. 동적분석 방어 : Layered integrity Check, Randomized Activation algorithm 적용을 통한 역분석 방지, 자체 VM내장 3. 리버싱, VM방어 : 블록체인 마이닝과 같은 방식, 암호키를 찾는 알고리즘 적용 • 악성코드 내 암호키 없음 – 정적분석 불가 • C&C 서버 내 암호키 없음 • 일정시간 후 실행가능성 100% 보장 (가상머신 우회 가능) 4. C&C를 일반 유명게시판 or SNS로 지정하고, 한글로 인코딩된 암호키와 Exploit Code를 주기적으로 확인하여 악성코드가 원하는 정보를 수신하는 경우 작동
  18. 18. https://people.csail.mit.edu/rivest/pubs/RSW96.pdf "시간 잠금 퍼즐 및 시간 제한적 암호화“ (96) (2008 Satoshi Nakamoto)
  19. 19. 3. 지능형 악성코드 분석 using NLP (NLP, National Language Processing) - IDEA1 : 프로그램언어와 자연어 간 분류 및 의미분석 유사성 착안 - TF-IDF, Word2Vec(Code2Vec), K-Fold, K-Means (Feature Extraction, Relation Analysis, Clustering K-Fold Optimization)
  20. 20. PE Extract (to XML, PEStudioX)
  21. 21. PE Extract (to XML, PEStudioX)
  22. 22. PE Extract (to XML, PEStudioX) 대분류 소분류 검출결과 비고 패킹 Themida 21 대표적인 패커만 확인함 (대략 전체평균은 40% 이상임, `14 BlackHat 등) ASPack 5 UPX 47 MPress 10 합계 83(28%) 디버거 Debugger 42 ANTI VM vbox 4 VBoxSv 레지스트리 RegOpenKey 90 RegCloseKey 94 기타 파일생성시간 8 (00:00:0000) file-description 51 Empty 데이터셋 (KISA-CISC2017-Intelligent-Mal) 295개 기초분석 결과 (파일용량 5M 이상제외) * 실험환경, CPU i7, GPU980*2, Windows10, Ubuntu16
  23. 23. AdaBoosting, Decision Tree, NN Hybrid
  24. 24. □ (지능형 악성코드) 코드(암호화, 난독화 등), 행위수준에서 이미 엔트로피가 매우 높은 상태임 * 코드, 행위의 엔트로피 값을 일반/지능형 악성코드의 구분기준으로 고려할 수 있음 □ (분석의 어려음) 지능형 악성코드는 일반 데이터분석이 용이한 수준으로 특징*(feature)을 뽑는데 어려움이 있음 * 정적분석(PE추출, 언패킹, 디스어셈블 등), 동적분석(디버깅 등), 동적행위분석(VM분석 등) □ (방법론) 지능형 악성코드 판단을 강화하기 위해서는, 더 높은 차원의 상관관계분석이 가능한 자동화 분석기법의 적용이 필수적이라 판단됨 ⇒ 번역, 요약, 분류, 작성(기사 작성 등) 자연어 처리기술 용도로 개발된 기술을 프로그래밍언어 분석처리에 적용하고자 함 * 본 연구에서는 PE추출데이터를 기반으로 적용하였으며 향후 언패킹, 디스어셈블, 동적분석, 동적행위분석 등의 추가정보를 이용, 정상/일반악성코드/지능형악성코드 분류 연구를 제안 ⇒ 적용가능기술 : TF-IDF, Word2Vec(Code2Vec), K-Fold, K-Means, Vector Distance 연산 지능형 악성코드 (고찰)
  25. 25. PE Extract for Features [참고] Anti-Debugging Techniques to compromise debuggers and/or the debugging process “debugger” Anti-Disassembly Techniques to compromise disassemblers and/or the disassembling process - packing Obfuscation Techniques to make the signatures creation more difficult and the disassembled code harder to be analyzed by a professional Anti-VM Techniques to detect and/or compromise virtual machines “VM, vmware, vbox, virtual” Malicious Technique A characteristic we look for in the scope of this research. Not necessarily all software using such technique is malicious “wireshark”, Hook Imports suspicious APIs RegCloseKey RegOpenKeyW RegOpenKeyExW CreateToolhelp32Snapshot Process32NextW LoadLibraryW GetModuleFileNameW CreateFileW IsDebuggerPresent Process32FirstW connect (Ordinal #4) socket (Ordinal #23) send (Ordinal #19)
  26. 26. Code2Vector - 제안 제안 방법론 295개의 악성코드에서 정적, 동적 정보를 획득한 후 각각 중요 정보추출 200개 TF-IDF 백터를 기반으로 악성파일 유사도를 Word2Vec 방법으로 분석하여, 악성코 드를 분류한다. (일반 텍스트문서를 통한 예제 검증 3차 후, 실제 악성코드에 대한 정보를 대상으로 실 구현 및 검증, 본 자료에서는 정적PE정보에 대해서 분류 수행)
  27. 27. 분류 최적값 5~10 (we used 8)
  28. 28. [지능형 악성코드 분류] Type A : a8c62fc19cbfaa3f1075f4ca5f7ac7b6 등 41개 Type B : 1573ffadefb5b904e5f793b4904515e3 등 19개 Type C : c2589f6f42f8e08b26adccb51bd08e87 등 17개 Type D : 2c6ade9e8752637add9b85bb0df89b7b 등 41개 Type E : 5dc56fea6ca6052ec7e0d673e90dfbfd 등 21개 Type F : e23fd00721f5a745571e4283ccd05ef8 등 47개 Type G : fbf7dfaa30bb99a33caa464d64d107eb 1개 Type H : 6b81d6aedc4ad7ff9b4c0f7cd9f1f7ae 등 13개 * 본 분류기준으로 신규PE파일에 대해 벡터거리연산으로 분류 가능함 분류 방법 비고 pe_extract_pestudio.py vir파일(300개) 에서 PE 추출 (295개, XML 포멧) make_analysis_daya_PY3.py PE 추출 XML(295개)에서 CVS로 저장(200개, 저용 량 우선) NLP_script_ko-Word2Vec (K-Fold).py 추출된 정보를 기반으로 Word2Vec 알고리즘으로 악성코드 분류 수행 K=8
  29. 29. (IDEA1) 지능형 악성코드 머신러닝 분석 결과 □ 번역, 요약, 분류, 작성(기사 작성 등) 자연어 처리기술을 프로그래밍언어 처리에 적용하였고, 지능형악성코드 분류를 수행함 * 본 연구에서는 PE추출데이터를 기반으로 적용함
  30. 30. 4. 지능형 악성코드 분석 선제대응 방안(피해최소화) 설계 - IDEA2 : 계층형 격리를 통한 형상관리, 가상머신 에뮬레이션 설정 -
  31. 31. 지능형 악성코드 선제대응을 위해 “질병관리센터 격리체계”를 수용한 방법론 제안
  32. 32. 알고리즘 설계 (서버영역) White 리스트 PE File(EXE, DLL 등) Hash 관리 White List PE, 분석결과 관련 관련 한 행위 정보 • HWP.exe, iExplorer.exe의 하위 PID Name을 사전정보로 관리하여 확인가능하도록 (HASH등) 운영/관리 머신러닝 코드 (NLP 코드 제안) WhiteList File HASH 관리코드 가상환경에서 분석을 통한 동적 정보추출 가상환경 관리/분석 코드 실환경에서 분석을 통한 동적 정보추출 (실 환경의 자동관리를 위해 필요한 기술은 본 설계에 서는 검토제외) 실 환경 관리/분석 코드 Grey PE와 관련한 행위 정보관리 • 메모리, 레지스트리, 네트워크 접근 행위정보 저장 추출/저장 코드 저장소 ElasticSearch (ELK기반 비정형데이터 관리코드)
  33. 33. 기타 (이용자 선택) 알고리즘 설계 (클라이언트 영역) White 리스트 / 악성코드 가 아닌 의심 실행파일로 판단된 경우 동영상파일, 문서파일 등을 오픈한 결과로 의심되는 Child Proecess 나 메모리 접근이 있는 경우 일반 파일변경/삭제 모니터링 Quarantine Area A (에비격리 영역 A) Quarantine Area B (에비격리 영역 B) 격리 후 모니터링 상황에 따라 영역 변경 기본적인 예비격리영역 (Default) 성능을 감안한 예비격리영역 운영체제 파일/레지스트리 추가/변경/삭제 모니터링 메모리 접근 모니터링 네트워크 접근 모니터링 일반 파일변경/삭제 모니터링 운영체제 파일/레지스트리 추가/변경/삭제 모니터링 메모리 접근 모니터링 네트워크 접근 모니터링 변경/삭제 시 원본 복제저장 기능 수행 통신에 대한 허가여부 이용자 판단 가능(옵션) 메모리 접근 허가 이용자 판단 가능(옵션) * 기타 : CPU 사용량(가상화폐 마이닝 관련 등) PE 정적/동적 정보 추출 코드 (Python, PEStudioX) OS 커널API 프로세스, 메 모리 함수 모 니터링(후킹) 코드 이용자 선택 기능 구현 코드 원본파일 복제 보관기 능(HIDE기능 포함) OS 커널API 프로세스, 메 모리 함수 모 니터링(후킹) 코드 TensorFlow Neural Network TrainingResult (모바일, PC 용 경량화) OS에 가상머신 시그니처 추가 (악성행위 방지목적) 추출된 정보기반 정상/악성 판단 코드
  34. 34. 예시 : 파일, 레지스트리, 프로세스, 메모리와 같은 커널 함수에 후킹을 걸어둔 후 QA(Quarantice Area)에서 관 리중인 프로세스를 모니터링 하는 기능과 정보의 변경전 해당 정보(파일, 레지스트리 등)는 별도의 영역에 보관한다. If pid == QA 내부 PID : If WriteFile, WriteRegistry 명령인 경우: 해당 정보는 미리 백업 후 명령 수행 예시 : 아래와 같은 VM 탐지 기술이 이용되는 경우 실제 PC의 환경과 달리 가상머신으로 결과값을 리턴한다. void vmx_checking_emulation(); void process_name_checking_emulation(); void class_name_checking_emulation(); void cpuid_checking_emulation(); void cpu_cores_checking_emulation(); void registry_checking_emulation(); void devices_checking_emulation(); void drivers_checking_emulation(); 4-A. 계층형 격리를 통한 형상관리 방법 (Pseudo Code) 4-B. 격리(가상머신) 에뮬레이션 설정 방법 (Pseudo Code)
  35. 35. (IDEA2) 계층형 격리를 통한 형상관리 &격리(가상머신) 에뮬레이션 설정 □ VM탐지기술이 적용된 악성코드의 비활성화 효과와 파일변경/삭제 기능이 있는 악성코드에 대한 선제적 형상관리 대응을 통한 피해방지 효과기대
  36. 36. 5. 결론 및 향후 연구방안
  37. 37. □ 번역, 요약, 분류, 작성(기사 작성 등) 등 최신 자연어 처리기술을 ① 프로그래밍 언어 처리에 적용하였고, ②지능형악성코드 분류를 수행함 * (TODO A) 중요키워드, 함수 등 의미를 고려한 Code(Word) 추출 연구 필요 - 언패킹, 디스어셈블, 동적분석, 동적행위분석 등의 추가정보를 이용 - 정상/일반악성코드/지능형악성코드 분류 연구 제안 * (TODO B) Part2에서 제공된 일반악성코드와 비교가능성 검토 □ VM탐지기술이 적용된 ③악성코드의 비활성화 효과와 파일변경/삭제 기능이 있는 악성코드에 대한 선제적 ④형상관리 대응을 통한 피해방지/대응 방법 제시 * (TODO C) 가상머신 우회, 파일삭제, 암호화 악성코드를 대상으로 실제 구현 후 테스트, 결과를 확인하여 효과(%) 확인 [결론] “지능형 악성코드” 선제대응방안
  38. 38. “만약 당신이 미래를 꿈꾸지 않거나 지금 기술개선을 위해 노력하지 않는다면 그건 곧 낙오되고 있는 것이나 마찬가지 입니다.” 그윈 쇼트웰(Gwynne Shtwell, SpaceX CEO, COO) 42
  39. 39. 감사합니다 (facebook.com/sangshik, mikado22001@yahoo.co.kr) 43  
반응형