[2011 CodeEngn Conference 05] daly25 - 파일바이러스 분석 및 치료로직 개발GangSeok Lee
2011 CodeEngn Conference 05
FileVirus(FV)는 정상파일들을 악성코드로 감염시키기는 감염형 바이러스이다. FV는 일반적인 바이러스 치료방법(삭제)보다는 원래의 정상파일로 복원하여 치료해야한다. 이에 본 발표에서는 치료로직 개발에 필요한 FV 감염구조들에 대해 알아보고, 각 감염구조에 따른 악성코드 분석 및 치료로직 개발 방법에 대해 알아보도록 한다.
http://codeengn.com/conference/05
저장장치에서 익혀야 할 기본적인 개념들을 정리해 보았습니다.
우선 디스크 측면에서 HDD와 SSD에 대한 물리적인 성질을 정리해보았고
다음으로 논리 layer에서 볼륨과 파일시스템을 대략 정리해보았습니다.
그리고 linux와 windows 에서 많이 사용되는 local 파일시스템을 정리하였습니다.
마지막으로 엔터프라이즈 환경에서 다루는 DAS, NAS, SAN에 대해 정리를 해보았습니다.
그 이상의 아키텍쳐에서는 필요해졌고 분산파일시스템을 언급하였습니다. 대표적인 HDFS, Gluster, Ceph 등을 정리해보았지만 이부분은 잘 몰라서 아주 간단히 언급하였습니다.
[2011 CodeEngn Conference 05] daly25 - 파일바이러스 분석 및 치료로직 개발GangSeok Lee
2011 CodeEngn Conference 05
FileVirus(FV)는 정상파일들을 악성코드로 감염시키기는 감염형 바이러스이다. FV는 일반적인 바이러스 치료방법(삭제)보다는 원래의 정상파일로 복원하여 치료해야한다. 이에 본 발표에서는 치료로직 개발에 필요한 FV 감염구조들에 대해 알아보고, 각 감염구조에 따른 악성코드 분석 및 치료로직 개발 방법에 대해 알아보도록 한다.
http://codeengn.com/conference/05
저장장치에서 익혀야 할 기본적인 개념들을 정리해 보았습니다.
우선 디스크 측면에서 HDD와 SSD에 대한 물리적인 성질을 정리해보았고
다음으로 논리 layer에서 볼륨과 파일시스템을 대략 정리해보았습니다.
그리고 linux와 windows 에서 많이 사용되는 local 파일시스템을 정리하였습니다.
마지막으로 엔터프라이즈 환경에서 다루는 DAS, NAS, SAN에 대해 정리를 해보았습니다.
그 이상의 아키텍쳐에서는 필요해졌고 분산파일시스템을 언급하였습니다. 대표적인 HDFS, Gluster, Ceph 등을 정리해보았지만 이부분은 잘 몰라서 아주 간단히 언급하였습니다.
source : http://www.opennaru.com/jboss/jboss-core-services-collection/
JBCS ( JBoss Core Services Collection )는 엔터프라이즈 애플리케이션에서 필요한 일반적이고 기본적인 빌딩블록을 제공합니다.
여기에는 Red Hat SSO (Single SIgn On) 과 웹서버 그리고 관리와 모니터링을 위한 JON 등이 포함됩니다.
다음과 같은 컴포넌트가 포함됩니다.
JON : 레드햇 미들웨어에 대한 모니터링과 관리 서버
Apache HTTP 서버 : 웹서버
Red Hat SSO : 오픈소스인 Keycloak 프로젝트를 기반으로 SSO를 구현하며, Open ID Connection, SAML 그리고 OAth2와 같은 개방형 표준 인증 방법을 지원.
Apache Commons Jsvc : 유닉스 및 유닉스 기반 플랫폼 (Linux)에서 자바 애플리케이션을 데몬화할 수 있도록하는 유틸리티
Microsoft의 “IIS”와 Oracle의 “Oracle iPlanet Web Server” 웹 서버에 대한 커넥터
“Core Services Collection”의 사용권은 JBoss EAP 서브스크립션에 무료로 포함되며, 해당 제품들에 대한 온라인 지원, 전화 지원, 업데이트, 패치 및 보안 문제 해결 등의 기술지원이 포함됩니다
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
Just Model It 이벤트에서 사용할 Backend.AI 에 관한 소개입니다. Backend.AI의 개괄, 주요 기능 및 사용예들을 다룹니다. 또한 Backend.AI 를 이용한 End-to-end ML model 개발 시나리오도 소개합니다.
An Introduction to Backend.AI to use in Just Model It event. It covers the overview of Backend.AI, its main features and examples. It also introduces the scenario of developing end-to-end ML model using Backend.AI.
(130316) #fitalk trends in d forensics (feb, 2013)
1. FORENSIC INSIGHT;
DIGITAL FORENSICS COMMUNITY IN KOREA
Trends in dForensics, Feb/2013
JK Kim
proneer
proneer@gmail.com
http://forensic-proof.com
Security is a people problem…
2. forensicinsight.org Page 2
Trends in dForensics, Feb/2013
파일시스템 터널링을 주의하자 (Pay Attention to the File System Tunneling)
• 파일시스템 터널링
짧은 시간(기본 15초)안에 폴더에 동일한 이름으로 파일이 생성되면 생성시간을 변경하지 않음
FAT, NTFS 에서 기본적으로 지원
파일을 삭제하거나 파일 이름 변경 캐시에 저장
파일 생성 시 캐시를 검색하여 동일한 파일이름이 있으면 캐시 정보를 복원
• 파일시스템 터널링을 사용하는 이유
임시 파일을 사용하는 프로그램의 동일성 유지를 위해
FORENSIC-PROOF (forensic-proof.com/) (cont’d)
4. forensicinsight.org Page 4
Trends in dForensics, Feb/2013
파일시스템 터널링을 주의하자 (Pay Attention to the File System Tunneling)
• 파일시스템 터널링 설정
HKLMSYSTEMControlSet00#ControlFileSystemMaximumTunnelEntryAgeInSeconds 생성
• Data: 초 (캐시 유지 시간)
• 파일시스템 터널링 활성화/비활성화
HKLMSYSTEMControlSet00#ControlFileSystemMaximumTunnelEntries 생성
• Data : 0 (비활성화), 1 (활성화)
• 파일시스템 흔적이 터널링에 의한 것인지, 공격자의 의도적인 행위인지를 고려
FORENSIC-PROOF (forensic-proof.com/)
5. forensicinsight.org Page 5
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
6. forensicinsight.org Page 6
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• 설치 시, 설치 후 설정
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
7. forensicinsight.org Page 7
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• %UserProfile%Google Drive gdoc, gsheet, gslides
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
8. forensicinsight.org Page 8
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• %UserProfile%AppDataLocalGoogleDrive 로그 및 설정 정보
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
9. forensicinsight.org Page 9
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• %UserProfile%AppDataLocalGoogleDrive 로그 및 설정 정보
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
파일/폴더명 저장 정보
cloud_graph 구글 드라이브 클라우드 리소스 ID
CrashReports 충돌 보고서
cacerts CAcert 인증서
lockfile 잠긴 파일
pid 프로세스 ID
snapshot.db
클라우드, 로컬 파일/폴더 정보
생성/수정 시간, 파일/폴더명, 리소스 ID, URL, 크기, 체크섬, 공유여부, 매핑정보 등
sync_config.db 로컬 싱크 경로, 이메일, 버전 등
sync_log.log 싱크 로그
10. forensicinsight.org Page 10
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• 레지스트리 아티팩트
FORENSIC FOCUS (articles.forensicfocus.com/) (cont’d)
정보 경로
확장자 연결 정보 HKEY_CLASSES_ROOT.gdoc, .gdraw, .gform, .glink, .gnote, .gscript, gsheet, gslides, gtable
설치여부, 인증 토큰 HKEY_CURRENT_USERSoftwareGoogleDrive
자동시작 여부 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
제품명, 설치시간, 설치경로,
상세버전 등
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInstallerUserData
S-1-5-18Products{Product GUID}InstallProperties
제품명, 설치시간, 설치경로,
상세버전 등
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall{GUID}
11. forensicinsight.org Page 11
Trends in dForensics, Feb/2013
What are ‘gdocs’? Google Drive Data – Part 2
• 논의 사항
조사 대상에 자동 동기화 설정이 되어 있다면??
사용자명과 패스워드를 이용해 접근 권한을 얻어야 할지??
재판관할권 문제
FORENSIC FOCUS (articles.forensicfocus.com/)
12. forensicinsight.org Page 12
Trends in dForensics, Feb/2013
Hiding Data in Hard-Drive’s Service Areas (http://www.recover.co.il/SA-cover/SA-cover.pdf)
• 서비스 영역
HDD 상의 논리적인 영역으로 제조사에 의해 생성
LBA(Logical Block Address) 범위 밖의 영역으로 표준 ATA 명령으로 접근 불가
HDD가 복잡해짐에 따라 그런 복잡함을 컨트롤하기 위한 소프트웨어와 데이터로 구성
서비스 영역 데이터 보통 안정성을 위해 백업본 유지
• Detect management module
• S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology) data module
• Self-test module
• .. …
Recover.co.il (cont’d)
13. forensicinsight.org Page 13
Trends in dForensics, Feb/2013
Hiding Data in Hard-Drive’s Service Areas (http://www.recover.co.il/SA-cover/SA-cover.pdf)
• 서비스 영역 접근
HDD I/O 포트에 VSC(Vendor Specific Commands)를 보내어 접근
VSC는 HDD 제조사마다 제각각이고 공개하지 않음
제조사에서 HDD 기능을 조작하기 위해 도구를 공개하기도 함
• WD(Western Digital) – wdidle3.exe (open source, idle3)
• HDDHACKR
PC3000 – 서비스 영역을 접근하여 데이터 복구 시도
Recover.co.il (cont’d)
14. forensicinsight.org Page 14
Trends in dForensics, Feb/2013
Hiding Data in Hard-Drive’s Service Areas (http://www.recover.co.il/SA-cover/SA-cover.pdf)
• 서비스 영역 크기 서비스 영역과 모듈 크기는 제조사마다 제각각
WD2500KS-00MJB0 (WD Hawk family, 250 GB, Firmware 02AEC)
• 6개의 표면을 사용 (헤드 0 ~ 5) 각 표면의 예약된 영역은 대략 23 MB
• 헤드 0,1에 매핑된 플래터 표면에 2개의 서비스 영역(원본, 백업본) 존재, 각각 6 MB
• 헤드 2 ~ 5에 매핑된 예약된 영역은 사용되지 않음
• 전체 예약된 영역 141 MB 중 12 MB를 서비스 영역으로 사용
WD10EACS-00ZJB0 (WD Hulk family, 1 TB)
• 8개의 표면을 사용 (헤드 0 ~ 7) 각 표면의 예약된 영역은 대략 56 MB
• 헤드 0,1에 매핑된 플래터 표면에 2개의 서비스 영역(원본, 백업본) 존재, 각각 26 MB
• 헤드 2 ~ 7에 매핑된 예약된 영역은 사용되지 않음
• 전체 예약된 영역 450 MB 중 52 MB를 서비스 영역으로 사용
Recover.co.il (cont’d)
15. forensicinsight.org Page 15
Trends in dForensics, Feb/2013
Hiding Data in Hard-Drive’s Service Areas (http://www.recover.co.il/SA-cover/SA-cover.pdf)
• VSC로만 접근 가능한 추가적인 예약 영역
HDD 플래시 칩의 부트 스트래핑 공간 (보통 1 MB)
HDD LBA 범위 밖의 사용되지 않는 트랙
헤드가 비활성화되어 있는 디스크 표면
• 데이터 은닉과 파괴 (Data Hiding and Sanitation)
예약된 영역은 HDD VSC에 의해서만 접근 가능
데이터 영구삭제 도구나 포렌식 도구는 해당 영역에 접근이 불가능
Recover.co.il (cont’d)
16. forensicinsight.org Page 16
Trends in dForensics, Feb/2013
Hiding Data in Hard-Drive’s Service Areas (http://www.recover.co.il/SA-cover/SA-cover.pdf)
• 개념 증명 (Proof of Concept)
WD 250 GB Hawk family
• 6개의 표면으로 구성, 면당 64 트랙, 트랙당 720 섹터
• 서비스 영역에 할당된 초기 2개의 표면은 제외
• 나머지 4개 표면의 예약 영역 활용 4 X 64 X 720 X 512 bytes
• POC 코드는 데이터 손실, HDD 실패를 유발할 수 있으므로 주의해서 사용
테스트 과정
1. 94 MB의 랜덤 파일을 생성하고 MD5 해시 계산
2. 서비스 영역에 파일 쓰기
3. dd /dev/zero를 이용해 전체 HDD 영구삭제
4. 서비스 영역에서 파일을 읽어 MD5 해시 계산 후 초기 해시값과 비교
Recover.co.il (cont’d)
17. forensicinsight.org Page 17
Trends in dForensics, Feb/2013
SA-cover-poc.c (http://www.recover.co.il/SA-cover/SA-cover-poc.c)
Recover.co.il
root@Shafan1:~/SA# dd if=/dev/urandom count=184320 > random-
file ; md5sum random-file
184320+0 records in
184320+0 records out
94371840 bytes (94 MB) copied, 12.8187 s, 7.4 MB/s
0baca7245e1efa160512a6217c13a7b0 random-file
root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -w ./random-file
using port address: 0x0170
Model: WDC WD2500KS-00MJB0
S/N: WD-WCANK5391702
F/W Ver: 02.01C03
LBA24:268435455 LBA48:488397168
Service area sectors-per-track (720)
Service area tracks (64)
Num of heads(6)
Unused reversed space (94371840 bytes)
writing head(2) track(-1)
writing head(2) track(-2)
writing head(2) track(-3)
....
writing head(5) track(-62)
writing head(5) track(-63)
writing head(5) track(-64)
root@Shafan1:~# dd if=/dev/zero of=/dev/sdb bs=1M
dd: writing ‘/dev/sdb’: No space left on device
238476+0 records in
238475+0 records out
250059350016 bytes (250 GB) copied, 4732.86 s, 52.8 MB/s
root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -r after-dding-dev-
zero
using port address: 0x0170
Model: WDC WD2500KS-00MJB0
S/N: WD-WCANK5391702
F/W Ver: 02.01C03
LBA24:268435455 LBA48:488397168
Service area sectors-per-track (720)
Service area tracks (64)
Num of heads(6)
Unused reversed space (94371840 bytes)
reading head(2) track(-1)
reading head(2) track(-2)
....
reading head(5) track(-62)
reading head(5) track(-63)
reading head(5) track(-64)
root@Shafan1:~/SA# md5sum after-dding-dev-zero
0baca7245e1efa160512a6217c13a7b0 after-dding-dev-zero
18. forensicinsight.org Page 18
Trends in dForensics, Feb/2013
Write to an Existing File Without Updating LastWriteTime or LastAccessTimestamps Using PowerShell
Learn Powershell (learn-powershell.net) (cont’d)
19. forensicinsight.org Page 19
Trends in dForensics, Feb/2013
Write to an Existing File Without Updating LastWriteTime or LastAccessTimestamps Using PowerShell
Learn Powershell (learn-powershell.net) (cont’d)
20. forensicinsight.org Page 20
Trends in dForensics, Feb/2013
Write to an Existing File Without Updating LastWriteTime or LastAccessTimestamps Using PowerShell
• Write-File.ps1 스크립트 다운로드
http://gallery.technet.microsoft.com/scriptcenter/Write-or-Clear-a-File-49b5afdf
Learn Powershell (learn-powershell.net) (cont’d)
21. forensicinsight.org Page 21
Trends in dForensics, Feb/2013
Read File Without Updating LastAccess TimeStamp using PowerShell
• Get-FileContent.ps1 스크립트 다운로드
http://gallery.technet.microsoft.com/scriptcenter/Read-file-without-updating-15eb9cb8
Learn Powershell (learn-powershell.net)
23. forensicinsight.org Page 23
Trends in dForensics, Feb/2013
Mandiant
• Mandiant Exposes APT1 – One of China’s Cyber Espionage Units & Releases 3,000 Indicators
• Threat Actors Using Mandiant APT1 Report as a Spear Phishing Lure
• Threat Actors Using Mandiant APT1 Report as a Spear Phishing Lure: The Nitty Gritty
• Netizen Research Bolsters APT1 Attribution
SANS Computer Forensics
• Intro to Report Writing for Digital Forensics
• Report Writing for Digital Forensics: Part II
viaForensics
• OSDF Conference – YAFFS2 Support for The Sleuth Kit
Others (cont’d)
24. forensicinsight.org Page 24
Trends in dForensics, Feb/2013
EDD AND FORENSICS
• Auto-Generating OpenIOCs – ioc_creator.py
• Automating OpenIOC with Splunk – IOC Splunker.py
Journey Into Incident Response
• Links for Toolz – Custom Googles, Useful Public Resources, Malware Downloaders and
Scappers, IDX Information and Parsers, Memory Forensics
Hexacorn
• Beyond good ol’ Run key
• Beyond good ol’ Run key, Part 2
• Beyond good ol’ Run key, Part 3
Others (cont’d)
25. forensicinsight.org Page 25
Trends in dForensics, Feb/2013
Another Forensics Blog
• Finding and Reverse Engineering Deleted SMS Messages
Bernardo Damele A. G.
• Dump Windows password hashes efficiently – Part 1
• Dump Windows password hashes efficiently – Part 2
• Dump Windows password hashes efficiently – Part 3
• Dump Windows password hashes efficiently – Part 4
• Dump Windows password hashes efficiently – Part 5
• Dump Windows password hashes efficiently – Part 6
Others