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

etc/머신러닝

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

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

2020.08.10 게시됨

[PoseidonCTF 2020] misc write-up 포스팅 썸네일 이미지

CTF

[PoseidonCTF 2020] misc write-up

디코문제빼고 하나도 못풀었다ㅋㅋㅋㅋㅋ.....바보 1. DISC ORDer 이거도 위에 있는 플래그 못보고 스테가노그래핀가...? 디코문제부터...? 이러고있었음...ㅋㅋㅋㅋ바보.. Poseidon{L3t_Th3_FuN_B3giN} 2. Young Blaze 문제화면을 캡쳐 못했는데, young blaze의 노래 Fuck this shit I'm out의 가사가 써져있었다. 그리고 "Damn"이라는 파일 하나가 주어졌다. 우선 file Damn으로 파일의 정보를 확인해보았다. executable file, 즉 실행할 수 있는 파일은 아니지만 relocatable file, 즉 link가 가능한 object file이다. 그러면 단순히 link를 해준 뒤에 실행을 시켜주면 된다. 이걸 무식하게 부르트포싱하..

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 게시됨

[Stack] RET sled에 대하여 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Stack] RET sled에 대하여

오늘은 RET Sled에 대해서 알아볼 것입니다. RET Sled는 Return Address영역에 RET 명령어의 주소를 연속적으로 삽입해서 esp를 조작하는 기법입니다. 일단 RET의 구조를 한번 봅시다. Internal of "ret" pop eip jmp eip 이해를 돕기 위해 그림도 가져왔습니다. 상황 자체는 함수의 에필로그 중 leave까지 진행한 상황이라고 가정합시다. 그러면 SFP 안의 값이 ebp안으로 들어가있겠죠? 그런 뒤 esp는 RET를 가리키고 있을 거고요. 그런 뒤에 ret가 실행되면서 RET(return address)안에 있는 값이 eip에 pop되고, 그 값으로 jmp(이동)하게 됩니다. 이 그림의 경우에는 ret를 통해서 0xaabbccdd라는 주소에 접근하게 되겠죠? ..

2020.08.08 게시됨

[해커스쿨 LOB] Level15: Giant >>  Assassin 포스팅 썸네일 이미지

War Games/해커스쿨 LOB

[해커스쿨 LOB] Level15: Giant >> Assassin

Level 14. Bugbear >> Giant Theme: no stack, no RTL 로그인 id : giant pw : one step closer bash2 & 코드확인 [giant@localhost giant]$ bash2 [giant@localhost giant]$ nl assassin.c 1 /* 2 The Lord of the BOF : The Fellowship of the BOF 3 - assassin 4 - no stack, no RTL 5 */ 6 #include 7 #include 8 main(int argc, char *argv[]) 9 { 10 char buffer[40]; 11 if(argc < 2){ 12 printf("argv error\n"); 13 exit(0); 1..

2020.08.05 게시됨

[해커스쿨 LOB] Level14: Bugbear >> Giant 포스팅 썸네일 이미지

War Games/해커스쿨 LOB

[해커스쿨 LOB] Level14: Bugbear >> Giant

Level 14. Bugbear >> Giant Theme: RTL 로그인 id : bugbear pw : new divide bash2 & 코드확인 1 /* 2 The Lord of the BOF : The Fellowship of the BOF 3 - giant 4 - RTL2 5 */ 6 #include 7 #include 8 #include 9 main(int argc, char *argv[]) 10 { 11 char buffer[40]; 12 FILE *fp; 13 char *lib_addr, *execve_offset, *execve_addr; 14 char *ret; 15 if(argc < 2){ 16 printf("argv error\n"); 17 exit(0); 18 } 19 // gai..

2020.08.02 게시됨

[해커스쿨 LOB] Level13: Darkknight >> Bugbear 포스팅 썸네일 이미지

War Games/해커스쿨 LOB

[해커스쿨 LOB] Level13: Darkknight >> Bugbear

Level 13. Darkknight >> Bugbear Theme: RTL 로그인 id : darkknight pw : new attacker bash2&코드확인 [darkknight@localhost darkknight]$ bash2 [darkknight@localhost darkknight]$ nl bugbear.c 1 /* 2 The Lord of the BOF : The Fellowship of the BOF 3 - bugbear 4 - RTL1 5 */ 6 #include 7 #include 8 main(int argc, char *argv[]) 9 { 10 char buffer[40]; 11 int i; 12 if(argc < 2){ 13 printf("argv error\n"); 14 ex..

2020.07.31 게시됨

[해커스쿨 LOB] Level12: Golem >> Darkknight 포스팅 썸네일 이미지

War Games/해커스쿨 LOB

[해커스쿨 LOB] Level12: Golem >> Darkknight

Level 12. Golem >> Darkknight Theme: FPO 로그인 id : golem pw : cup of coffee bash2 & 코드확인 [golem@localhost golem]$ bash2 [golem@localhost golem]$ nl darkknight.c 1 /* 2 The Lord of the BOF : The Fellowship of the BOF 3 - darkknight 4 - FPO 5 */ 6 #include 7 #include 8 void problem_child(char *src) 9 { 10 char buffer[40]; 11 strncpy(buffer, src, 41); 12 printf("%s\n", buffer); 13 } 14 main(int argc..

2020.07.31 게시됨

[Stack] Frame Pointer Overflow, FPO에 대하여 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Stack] Frame Pointer Overflow, FPO에 대하여

오늘은 FPO, Frame Pointer Overflow에 대해서 알아볼 것입니다. SFP Overflow라고도 불립니다. FPO에 대한 풀이 글들을 보면 계속 leave가 ebp+4에 접근할 수 있다, sfp를 조작했으니 ebp를 조작할 수 있다이런 말들이 되게 많은데 이걸 단계별로 제대로 이해하지 못하고 넘어가면 이게 뭔 개소리지??? 하다가 포기하게 되니까 천천히 이해해봅시다. 일단 FPO가 뭔지 알아봅시다. 일단 FPO를 이해하기 위해서는 기본적인 stack구조가 어떻게 굴러가는지 알아야하며, 더불어 stack bufferoverflow가 어떻게 일어나는지 배경지식으로 알고 있어야 합니다. 그에 대해서 잘 모른다면 먼저 stack bufferoverflow에 대해서 공부를 해보고, 이 글은 buf..

2020.07.30 게시됨

[stack] 함수의 에필로그(epilogue) 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[stack] 함수의 에필로그(epilogue)

함수의 에필로그(epilogue)에 대하여 오늘은 함수의 에필로그라는걸 배울 것입니다. 보통 함수의 프롤로그와 에필로그를 묶어서 설명하는데, 모든 함수의 처음(프롤로그)과 끝(에필로그)에 공통적으로 들어가기 때문에 프롤로그와 에필로그라고 합니다. 오늘은 에필로그만 보겠습니다. 에필로그의 각 단계를 설명하고, 그림으로 다시한번 이해해 보도록 하겠습니다. Function Epilog leave ret 간단하죠? 에필로그는 leave와 ret로 구성되어있습니다. 그러나 각 단계를 더 나눠서 볼게요. Internal of "Leave" move esp, ebp pop ebp 우선 Leave입니다. ebp를 esp로 복사하여 지역변수를 정리하고, stack의 가장 위에 있는 값을 ebp에 pop합니다. 근데 여기..

2020.07.30 게시됨

내가보려고 만든 pwnable 워게임 사이트 추천/공부하는법 포스팅 썸네일 이미지

잡소리

내가보려고 만든 pwnable 워게임 사이트 추천/공부하는법

누구를 가르칠 실력은 되진 않지만 나를 위해서 한번 정리 할 필요도 있는 것 같고 이걸 보고 조금이나마 도움이 될 수 있다면 좋을듯! 티스토리에 라업을 쭉 올리고싶은 생각도 있고 추천/정리 할 겸 도장깨기처럼 티스토리에 다시 올릴 생각이다. 소개하기전에 포너블 공부를 크게 나누자면 stack, heap, etc정도로 있다고 생각함. 그래서 우선 stack이랑 heap관련 해킹 기법들을 공부하고, 그 외의 것들은 ctf에 출전하면서 배워 나가는게 가장 좋다고 생각함. 나도 그렇게 하고있고. heap이 정말 어렵지만ㅜ 열심히해야지 ::beginner's level:: 1. Overthewire - Bandit 링크: https://overthewire.org/wargames/bandit/ 만약에 리눅스 문법..

2020.07.29 게시됨

[Linux] E: Could not get lock /var/lib/dpkg/lock-frontend 포스팅 썸네일 이미지

나의 고혈압걸리는 에러일기

[Linux] E: Could not get lock /var/lib/dpkg/lock-frontend

리눅스에서 맨날천날 뭘 다운받으려고 하기만 하면 뜨는 Could not get lock /var/lib/dpkg/lock-frontend 입니다. 저는 우분투 밀고 새로 pip다운로드 받다가 발생했네요. sudo killall apt apt-get sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock* sudo dpkg --configure -a sudo apt update killall은 현재 실행중인게 없으면 저렇게 no process found라고 뜹니다. 잘 다운받아진걸 볼 수 있습니다. 끝!

2020.07.27 게시됨