일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 논문리뷰
- 사회적 사실
- bob
- Best of the Best
- BoB 12기 최종합격 후기
- 에밀 뒤르켐
- 리버싱
- malware
- 자살론
- 사회분업론
- codeengn basic rce 01
- 철학
- CodeEngn Basic 5
- BoB 12기
- CodeEngn
- 코드엔진
- 코드엔진 basic 5
- h4ckinggame
- 코드엔진 베이직
- 디지털 포렌식 트랙
- CodeEngn Basic 01
- Today
- Total
목록IT (87)
woonadz :)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c3IOsv/btrr3nO2Iue/yQypxlkCDZ8EgiQJTrtXpK/img.png)
Mozi 봇넷이란? Mozi는 미라이(Mirai)를 기반으로 한 IoT 봇넷 멀웨어로, 주로 디도스 공격에 활용된다. 주로 넷기어(Netgear), 화웨이(Huawei), ZTE에서 생산된 네트워크 게이트웨이 장비들을 노리는 것으로 알려져 있다. Mozi는 2019년 말에 라우터와 DVR을 대상으로 처음 등장했다. 기본적으로 Mirai 변형이지만 Gafgyt 및 IoT Reaper의 스니펫이 포함되어 있으며, DDoS 공격, 데이터 유출, 스팸 캠페인, 명령 또는 페이로드 실행에 사용된다. 특징 - 디폴트 비밀번호나 약한 비밀번호를 통해 침투하는 게 주요 기법이며, 거의 모든 리눅스 기반 장비에 침투 가능하 다. - 생명력이 강함. (Mirai와 Gafgyt을 기반으로 한 변종들은 이전에도 여러 번 등장..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8XGTN/btrr2SnGYjT/BveETF7P3hyZNnyAcAlTq0/img.png)
※ 용도나 목적, 실행 속도, 자료구조 등을 고려하여 알고리즘 선택 1-1. 검색 알고리즘 배열 검색에 사용되는 알고리즘 - 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행 - 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 - 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행 방법 1) 체인법 : 같은 해시 갑스이 데이터를 선형리스트로 연결하는 방법 방법 2) 오픈 주소법 : 데이터를 위한 해시 값이 충돌할 때 재해시하는 방법 1-2. 선형 검색 선형 검색(순차 검색)이란? 배열에서의 검색 : 원하는 키 값을 갖는 요소와 만날 때까지 맨 앞부터 순서대로 요소를 검색 ▷ 일반적으로 배열의 요소 개수가 n개일 때, 조건을 판단하는 횟수..
제목 : 전 세계 IoT 장비 1만 2,000여 대, ‘Mozi 봇넷’ 감염됐다 요약 국정원은 러시아 침해사고대응팀(CERT)으로부터 한국 IP 주소를 경유한 해킹 시도에 대한 정보를 공유 받았다. 실제로 국내 지자체에서 'Mozi 봇넷' 감염 사실이 있었음을 확인한 후 국가기관, 공공기관만을 대상으로 조사한 결과 약 1만 1,700대의 IoT 장비가 위와 같은 감염 사실이 있음을 확인하였다. 이러한 감염의 원인은 제품 구매 당시 설정된 비밀번호를 바꾸지 않았거나, 제 3자가 쉽게 추측할 수 있는 비밀번호를 사용했기 때문이다. 모르는 개념 - DDoS - Mozi 봇넷 - 사이버위협정보공유시스템(NCTI·KCTI) 이 기사를 읽으며 월패드 해킹 사례가 떠올랐다. 월패드 해킹의 원인도 위 "Mozi 봇넷"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xeLYd/btrrsnBq6GV/S1xG1pchwUK0mY82UZCRp0/img.png)
#define _CRT_SECURE_NO_WARNINGS #include int main() { int N,i,j,k; scanf("%d", &N); for (i = N; i > 0; i--) { //N번째줄 for (k = 0; k 0; j--) { printf("*"); } printf("\n"); } for (i = 2; i 0; k--) { printf(" "); } for (j = i; j < i * 2 + i-1; j++) { printf("*"); } printf("\n"); } return 0; }
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqeh5J/btrrpTuiLgj/NPzW9HFNThwkZgNerVCJPk/img.png)
자료구조 : 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법. - 배열 : 같은 자료형으로 이루어진 요소가 모여 직선 모양으로 줄지어 있는 자료구조. | 상수식 : 상수만을 포함하는 식, 실행 시점이 아닌 컴파일 시점에 계산. | int a[5]; -> a[0]의 자료형은 int, 배열 a의 자료형은 int[5]형. - C언어 메모리 구조 : 프로그램이 실행될 때마다 RAM(메모리 영역)에 할당. | 데이터 영역 : 전역 변수와 정적 변수 할당, 프로그램 시작 시 할당하고 종료 시 메모리에서 해제. | 스택 영역 : 지역 변수와 매개변수 저장, 함수 호출 완료 시 사라짐. | 힙 영역(빈 공간) : 필요에 따라 동적 메모리 할당. - 난수 생성 | rand() : 이 함수가 반환하는 값은 0 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KXrd2/btrqMcajUng/HK9Y2yFyVGaXc9lW83XgBk/img.png)
학습 내용 pow 함수 - 사용 방법 pow(double base, double n) : base의 n승 - 주의 사항 #include 헤더파일을 선언해준 후 pow 함수 호출 sqrt 함수 - 사용 방법 sqrt(double x) : x의 제곱근 - 주의 사항 #include 헤더파일을 선언해준 후 sqrt 함수 호출 처음에는 a,b,c 변수를 선언하여 각각 변의 길이를 할당하려고 했었다. 이 방법이 불가능 한 것은 아니지만 if문으로 하나 하나 판별 후 변수 할당이 필요해 코드가 쓸데없이 길어질 것 같았다. 따라서 배열을 선언해 오름차순 정렬 방식을 사용했다. 1차 실패 코드 #define _CRT_SECURE_NO_WARNINGS #include #include #define L 3 int arr[..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vjzOj/btrqAVm2F85/Vxa5OCG016ltDhCHomxKt0/img.png)
3줄 TMI 한 달 넘게 블로그 업로드를 쉬었는데 여러가지 이유가 있었다. 학습 내용 중 얻은 부분, 부족한 부분에 초점을 맞춰 올리기 보다는 일기장에 초점이 맞춰져 있었던 것 같아 고민을 많이 했다. 또 리버싱 문제 풀이를 진행하다보니 어느새 내가 단순 툴만 사용하고 있다는 것을 느꼈다. 정말 컴퓨터 구조에 대해 생각하고 명령어에 대해 고민하고 풀었던 문제가 아닌 답을 맞추기 위한 문제를 풀었었다. 위 이유들 이외에도 나의 나태함 등등 여러가지 이유가 있었다. 학습 내용 strcmp(문자열1,문자열2) : 두 문자열을 비교해 같다면 0을 반환하고 다르다면 1을 반환한다. - 사용 방법 strcmp(배열 변수, 배열 변수) strcmp("문자열", "문자열") - 주의사항 strcmp가 포함된 함수 실행..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wOk14/btrlXxpYhrg/pcjk37CaSkGf8NuevTZlUk/img.png)
동적 계획법(動的計劃法, dynamic programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다. -위키백과- 분할 정복과의 차이점 분할 정복은 큰 문제를 해결하기 어렵기에 작은 문제로 나누어 푸는 방법이다. 하지만 이 작은 문제가 포함된 큰 문제에서 이를 다시 풀어야 한다. 이러한 문제를 해결한 것이 동적 계획법이라고 할 수 있다. 동적 계획법은 큰 문제를 작은 문제로 나누어 푼다는 점에서 분할 정복과 유사하지만 작은 문제를 단 한번만 푼다는 점에서 차이점이 있다고 할 수 있다. 동적 계획법 풀이 한번만 푼 모든 작은 문제의 답을 어딘가(배열..