본문 바로가기

전체

(242)
소프트웨어 공학 정리 7장 소프트웨어 공학 7.1 소프트웨어 공학 개관 ※소프트웨어 공학과 다른 공학 분야 사이의 차이점 1) 사전 제작된 범용 컴포넌트들을 이용하여 시스템을 구축하는 것고 관련이 있다. 일반 공학분야의 경우와 달리 소프트웨어공학에서는 과거에 설계된 소프트웨어 컴포넌트들의 내부 설계가 특정 응용 분야에 기초하고 있어 범용 컴포넌트로서의 유용성이 제한된다. 따라서 복잡한 소프트웨어 시스템들은 처음부터 새로 개발되어 온 것이 사실이다. 2) 소프트웨어의 경우 그 성질을 측정하기 위해 사용될 수 있는 측도(metric)라고 불리는 정략적 기법이 없다는 것이다. - CASE(Computer-Aided Software Engineering) : 소프트웨어 개발에 컴퓨터기술을 적용하는 기법 - CASE도구 : CASE의..
프로그래밍 언어 정리 프로그래밍언어 (출처 : 컴퓨터과학총론) 6.1 역사적 고찰 - 디버깅(debugging) : 프로그램이 완성되기 위해 오류들을 찾아 고치는 행위 - 식별자(identifier) : 데이터 항목에 이름을 부여하여 일시적으로 규정하거나, 그 데이터의 어떤 특성을 표시하기 위해서 사용하는 기호 - 어셈블러(assembler) : 기호 표현을 기계어 명령으로 변환해주는 프로그램 - 어셈블리 언어(assembly language) : 프로그램 표현에 사용되는 기호체계 - 단점 : 1) 기계 종속적-컴퓨터에 따라 고쳐야됨 2) 기계어의 단순한 단계들로 주어지는 틀에 맞추어 사고하도록 강요됨 - 기계독립적(machine independent) : 컴퓨터의 특성에 의존 - 번역기(translator) : 기계어프로그..
시큐어코딩 (JAVA) 1. 시큐어 코딩의 필수 쟁점 - 아키텍처 - 프로토콜 - 클라이언트 & 서버 언어 최근 침해사고 피해 유형을 살펴보니 1. 모바일 보안 위협 증대 3. 개인정보 유출형 해킹사고 4. 홈페이지를 통한 악성코드 유포 지속 를 살펴보면 모두 웹환경이다. 기존 소프트웨어 개발자는 하드웨어가 버틸 수 있는지에 대해 고려하며 하드웨어 중심으로 개발했다. 이후 애플리케이션 개발자는 솔루션 중심과 정해진 프로토콜을 신경썼다. 그러다 웹 환경으로 넘어오면서 지금의 환경이 오픈된 환경이라 생각하고 개발해야하는데 실제 현실은 그렇지 않다. 물론 초기에는 정보를 모두 공개하는 환경이었긴 하지만 지금은 Private이 중요해짐에따라 정보 보호도 신경써서 개발해주어야한다. 기본적으로 열려있는 공간에서 막으려면 많은 것들을 생각..
APT 분석방법 - 디스크 및 패킷 분석 1. 패킷분석(와이어샤크) 0) 시간 설정 edit-> TIme Shift 에서 +9:00:00 을 해준다. view -> Time Display Format -> UTC Date and Time of Day 1) 악성코드 유포지를 통해 역으로 분석 http.request.full_uri contains “유포지 전체링크” 봐야할 것 : - Referer : 현재 페이지를 접속하기 전의 주소 - Host : 악성코드와 관련 있는 주소를 찾기위해 필요 - Full request URI : 유포지 주소 - Response 패킷번호 : 다운로드 받은 바이너리를 추출할 수 있음 2) 유포지의 Host 정보를 이용해 경유 사이트 확인 http.request.full_uri contains “http://siten..
윈도우 악성코드 포렌식 출처 : http://forensic-proof.com/ (김진국강사님의 디지털포렌식 강의을 듣고 정리한 내용입니다.) 1. 프리패치 · 목적 : 하드디스크의 속도 때문에 초기 참조하는 파일의 순서를 저장해서 부팅시 빠르게 로드할 수 있도록 함. · 윈도우 프리패칭 (Windows Prefetching) - 실행 파일이 사용하는 시스템 자원 정보를 특정 파일에 저장  프리패치 파일 - 윈도우 부팅 시 프리패치 파일을 모두 메모리에 로드 - 사용자가 파일을 실행할 경우 미리 저장된 정보를 이용해 초기 실행 속도 향상 - 윈도우 XP 이후 (2003, Vista, 2008, 7, 8, 10)의 운영체제에서 제공 · 프리패칭 유형 - 부트 프리패칭 (Boot Prefetching) : XP, 2003, Vi..
log2timeline(plaso) 사용방법 이미지를 지정해줘도 되지만 편하게 아티팩트를 수집해 해당 파일만 분석하겠다. 다음의 파일을 수집한다. 1. 인터넷히스토리 파일 경로 : %SystemDrive%\Users\계정\AppData\Local\Microsoft\Windows\WebCache\ 2. 레지스트리 파일 파일 경로 NTUSER.DAT %SystemDrive%\Users\계정 ntuser.dat %SystemDrive%\Users\계정 SAM %Windir%\System32\config SECURITY %Windir%\System32\config SOFTWARE %Windir%\System32\config SYSTEM %Windir%\System32\config 3. 이벤트 로그 파일 경로 : D:\Windows\System32\wine..
악성코드 동적분석 도구 1. API 확인 1) MSDN - 모르는 API가 나온다면? 구글에 다음과 같이 검색 - site:msdn.microsoft.com [API] 2. 웹 디버깅툴 1) 크롬 자바스크립트 디버깅 - 설정 -> 도구 -> 개발자도구 3. 실행중인 프로세스 분석 1) AutoRuns :이 프로그램을 실행하면 신규 자동실행 프로세스를 확인가능 - 그냥 실행후 현재목록 save - 악성코드 실행 - 옵션 : diff로 저장한 것돠 비교(등록된 위치, 파일) 2) DebugView : 프로세스의 API 호출을 볼 수 있음 3) ListDLLs : 사용중인 DLL 목록 (주소, 크기) - GREP, AWK랑 같이 사용 4) Handle : 프로세스는 파일, 레지스트리, 스레드를 건드리려면 핸들이필요한데 그러한 핸들을..
APKParser APK파일을 처음분석할 때 쓰는 구조 파싱을 위한 도구이다. 예전 한창 APK 파일 구조 분석하던 시절이 있었는데 그 결과로 만든 도구이다. APK Parser is a tool which is used to parsing a apk file the tool is freeware Made by Jeonghyeon Kim E-mail : americano@korea.ac.kr