IDA 처음 쓰는 사람들에게 포스팅 썸네일 이미지

etc/Tips

IDA 처음 쓰는 사람들에게

IDA 처음 쓰는 사람들에게 IDA..... 천만원짜리 엄청난 프로그램이지만 제대로 사용법을 몰라서 힘들어하는 사람들이 많은 것 같습니다. 간단한 사용법을 알아보도록 합시다. 일단 IDA는 디스어셈블러의 일종으로, 디스어셈블러는 바이너리 파일을 역으로 어셈블리어로 재구성해주는 툴입니다. 이런 디스어셈블러의 종류는 많지만, 그 중 아이다가 거의 독보적으로 성능이 좋아서 다들 IDA를 많이 씁니다. 뭐 디스어셈블러는 많은데 왜 굳이 IDA를 쓰냐? IDA를 쓰는 이유는 다음과 같습니다. 1. 거의 모든 CPU 지원 2. FLIRT(Fast Library Identification and Recognition Technology)라는 기계어의 코드로부터 컴파일러 특유의 Library함수를 산출해낼 수 있는 기..

2020.08.31 게시됨

[KDD 2020] An Embarrassingly Simple Approach for trojan attack in Deep Neural Networks 분석 포스팅 썸네일 이미지

etc/머신러닝

[KDD 2020] An Embarrassingly Simple Approach for trojan attack in Deep Neural Networks 분석

이번에 PST 8월 23일부터 27일까지 진행한 KDD2020에 참여하였습니다! 논문을 투고하거나 발표를 하진 않았지만 여러가지 논문 발표 및 발표에 참여할 수 있었습니다. 원래는 해외 컨퍼런스라 참여하지 못했을텐데, 이렇게라도 참여할 수 있었어서 좋았습니다! :D 많지는 않지만, 나흘동안 진행되면서 참여하거나 읽은 논문/발표주제에 대해서 정리해보려고 합니다! An Embarrassingly Simple Approach for trojan attack in Deep Neural Networks 이 논문은 DNN을 겨냥한 Trojan Attack에 대한 이야기를하는 논문이다. DNN뿐만아니라 모든 머신러닝에서 정확하고 좋은 데이터를 사용하는 것은 매우 중요하다. DNN을 겨냥한 Trojan Attack은 ..

2020.08.29 게시됨

[머신러닝] 앙상블 모델에 대하여 - Bagging, Boosting 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] 앙상블 모델에 대하여 - Bagging, Boosting

오늘은 앙상블 모델에 대해서 이야기해봅시다. 우선 "앙상블"이라는 단어 자체를 한 번 봅시다. 앙상블(Ensemble)이란 조화, 통일을 뜻합니다. 머신러닝에서의 앙상블 모델도 "여러 모델이 동일한 문제를 해결하고 더 나은 결과를 얻도록 훈련시키는 기계 학습 패러다임"을 기반으로 만들어진 모델입니다. 보통 하나의 모델로 원하는 성능을 낼 수 없을 때 앙상블 학습을 사용하며, 개별로 학습한 여러 모델을 조합하여 일반화할 경우 성능을 향상시킬 수 있다는 것이 앙상블 모델이 주장하는 바입니다. 개인적으로 공부해본 결과 "집단지성"이라는 단어가 가장 어울리는 모델이라고 생각합니다. 다음은 앙상블 모델을 사용한 Classifier의 예시입니다. 앙상블 모델을 사용할 경우 1. 과적합(overfitting) 감소 ..

2020.08.10 게시됨

etc/Tips

Pwntools 처음 쓰는 사람들에게

후배들 주려고 작성한 문서인데 다른분들에게도 될 수 있다면 좋겠습니당 +) 2022.07.05 내용 수정 / 업데이트 하였습니다. (pause관련 추가 필요) 혹시나 잘못된 내용이 있다면 댓글 부탁드리겠습니다. Introduction to pwntools 작성자. dubini0 이 문서는 pwntools 공식문서를 참고하였습니다: https://docs.pwntools.com/en/stable/index.html pwntools란 pwntools를 처음 써본다면 여태껏 한줄 페이로드로 pwnable문제를 풀거나 소켓프로그래밍을 이용했을 것입니다. 만약 앞으로도 한줄 페이로드를 작성해서 문제들을 푼다면, 문제풀이에 분명한 한계가 발생합니다. 불편하다는 단점 또한 있구요. 물론 이를 소켓프로그래밍을 통해서 ..

2020.08.09 게시됨

[머신러닝] 2. 머신러닝 시스템의 종류 - 3 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] 2. 머신러닝 시스템의 종류 - 3

이 글은 '핸즈온 머신러닝' 책에 기반하여 작성되었습니다. 2. 머신러닝 시스템의 종류 - 3 머신러닝 시스템의 종류는 크게 세가지 범주로 나누어 생각합니다. -사람이 지도하는가 (지도학습, 비지도학습, 준지도학습, 강화 학습) -실시간으로 학습을 하고있는가 (온라인학습, 배치학습) -실제 사례 기반인지 예측하는것인지 (사례기반학습, 모델기반학습) 오늘은 마지막 이야기! 이거만 하면 드디어 끝입니다ㅎㅎ 2.3) 사례 기반 학습과 모델 기반 학습 머신러닝 시스템이 하는 일은 결국 '예측'을 하는 것입니다. 예측을 잘 하기 위해서는, 일반화를 잘 해야합니다. 즉 한정된 데이터만 가지고도 새로운 데이터에도 해당되는 알고리즘을 생성할 줄 알아야 한다는 것입니다. 이러한 일반화를 위한 방법은 총 두가지, 사례 기..

2020.03.03 게시됨

[머신러닝] 2. 머신러닝 시스템의 종류 - 2 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] 2. 머신러닝 시스템의 종류 - 2

이 글은 '핸즈온 머신러닝' 책에 기반하여 작성되었습니다. 2. 머신러닝 시스템의 종류 - 2 머신러닝 시스템의 종류는 크게 세가지 범주로 나누어 생각합니다. -사람이 지도하는가 (지도학습, 비지도학습, 준지도학습, 강화 학습) -실시간으로 학습을 하고있는가 (온라인학습, 배치학습) -실제 사례 기반인지 예측하는것인지 (사례기반학습, 모델기반학습) 오늘은 두번째 범주의 이야기!! 2.2) 배치 학습과 온라인 학습 머신러닝 시스템을 나누는 또다른 기준은 점진적으로 학습하고 있는가입니다. 2.2.1) 배치 학습 배치 학습은 시스템이 점진적으로 학습할 수 없는 경우를 얘기합니다. 점진적으로 학습할 수 없다는 것은, 미리 학습단계에서 습득한 알고리즘을 통해 일련히 적용만 시킨다는 뜻입니다. 이런 학습방법을 오프..

2020.03.02 게시됨

[머신러닝] 2. 머신러닝 시스템의 종류 - 1 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] 2. 머신러닝 시스템의 종류 - 1

이 글은 '핸즈온 머신러닝' 책에 기반하여 작성되었습니다. 2. 머신러닝 시스템의 종류 - 1 머신러닝 시스템의 종류는 크게 세가지 범주로 나누어 생각합니다. -사람이 지도하는가 (지도학습, 비지도학습, 준지도학습, 강화 학습) -실시간으로 학습을 하고있는가 (온라인학습, 배치학습) -실제 사례 기반인지 예측하는것인지 (사례기반학습, 모델기반학습) 오늘은 첫 번째 범주에대해 이야기해보겠습니다. 2.1) 지도학습, 비지도학습, 준지도학습, 강화학습 2.1.1) 지도학습 지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함된다. 보통 분류하는 작업이 대표적인 예이며, 스팸필터를 예로 들자면 메일 샘플에 정상메일과 스팸메일의 태그를 달아서 일정량의 메일이 있는 훈련 세트를 머신러닝을 시..

2020.03.01 게시됨

[머신러닝] 1. '진짜' 머신러닝을 하기 전 알아야 할 이론적인 이야기 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] 1. '진짜' 머신러닝을 하기 전 알아야 할 이론적인 이야기

이 글은 '핸즈온 머신러닝' 책에 기반하여 작성되었습니다. 1. '진짜' 머신러닝을 하기 전 알아야 할 이론적인 이야기 일단 툴을 다운받고 뭘 하고 하기전에, 우리가 공부하려고 하는 것이 무엇인가 파악을 해야겠죠? 1) 머신러닝이란 무엇인가? "명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야다." _아서 사무엘 직접 사례로 비교하는 것이 더 편할 것 같아, 보통의 프로그래밍과 머신러닝을 비교해 봅시다. 예를들어 스팸메일을 필터링하는 프로그램을 만든다고 가정합시다. 전통적인 프로그래밍 방법을 택한다면, 1)스팸메일들에 주로 들어가는 단어나 발신자같은 패턴을 발견을 해냅니다.(사람) 2) 발견한 패턴을 감지하고, 분류하는 알고리즘을 작성합니다.(사람) 3) 프로그램이 충분한 신뢰도를 ..

2020.02.29 게시됨

[머신러닝] abstract 포스팅 썸네일 이미지

etc/머신러닝

[머신러닝] abstract

Abstract 머신러닝 공부를 시작했습니다. 학교 학술동아리에서 담당 팀 팀장을 맡게 됐는데 확실히 책임이 주어지니까 좀 공부하게 되네요. 제가 공부하고있는 책은 핸즈온 머신러닝입니다. 책은 참 좋은데, 제가 정리를 안하니까 정리가 안돼서! 그래서 이 게시판에서는 이 책을 기반으로 해서 정리글을 올릴 예정입니다. 내인생 화이팅!

2020.02.29 게시됨

etc/Tips

우분투를 처음 시작할 때 다운받을 플러그인

우분투를 처음 시작하는 당신에게 -우분투 각종 플러그인 모음- 1. ubuntu 다운로드: https://jimnong.tistory.com/673 우분투 리눅스 다운로드 방법(Desktop 버전) 컴퓨터로 우분투 리눅스(Ubuntu Linux) 공식 홈페이지에 접근하면 사용 중인 PC의 환경에 맞는 bit를(32bit/64bit) 자동으로 골라서 iso파일이 받아지게끔 조치해줍니다. 먼저 다운로드 페이지에 들어갑� jimnong.tistory.com 2. vim설치: https://byd0105.tistory.com/7 - Ubuntu에 vi(vim)에디터 설치 - Vi 에디터를 설치하기 위해서 먼저 Ubuntu가 필요하다. http://byd0105.tistory.com/6 Ubuntu가 설치 완료되..

2019.08.14 게시됨

[IDA] 03. 아이다 안에서 구조체 활용하기 포스팅 썸네일 이미지

etc/Tips

[IDA] 03. 아이다 안에서 구조체 활용하기

[IDA] 03. 아이다 안에서 구조체 활용하기 어떤 이유인지는 모르지만 IDA는 아직 구조체를 인식하지 못하는 것 같습니다. 위 코드는 ASIS CTF 의 문제 Cat의 일부입니다. 보면 27번 줄에 0x18만큼 heap에 할당을하고 밑에 차례대로 name과 kind, 그리고 age를 입력받네요. 보아하니 구조체인데, 알아보기 힘든 면이 없지않아 있네요. 다음은 Structures탭에 들어간 모습입니다. 여기서 새로운 구조체를 선언해줄 수 있는데요, 여기서 그냥 Insert키를 눌러주면 됩니다. 여기다가 입력을 해주시면 이렇게 구조체가 추가된 것을 볼 수 있는데, 이제 안에 있는 멤버들도 넣어주어야겠죠? 그건 ends를 누른 뒤에 'd' 키를 누르면 됩니다. 그러면 저런식으로 멤버들을 추가시킬 수 있는..

2019.08.10 게시됨