전체 글 103

정보 보안기사 실기 (시스템 해킹)

Buffer Overflow Attack Stack Heap 버퍼 오버플로우 공격은 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생한다. 버퍼 오버플로우가 발생하면 프로그램의 오작동이 유발되거나, 악의적인 코드를 실행시킴으로써 공격자 프로그램을 통제할 수 있는 권한을 획득하게 된다. 버퍼 오버플로우 공격에는 스택과 힙 버퍼 오퍼블로우가 있다. Stack Frame 스택 프레임을 이해하기 위해서 간단한 소스 코드를 예로 들자면 #include int add(int a, int b) { int x = a, y = b; return (x+y); } int main(int argc, char* argv[]) { int a = 1, b = 2; printf(%d, add(a,b)); ret..

정보보안기사 2024.04.04

정보 보안기사 Day-1(SECTION 01)

SECTION 01 정보보호관리의 개념 정보보호란 -정보의 수집, 가공, 저장, 검색, 송신 ,수신 등에 발생하는 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적, 기술적 수단 -정보의 가용성과 안정성(보안성)의 균형을 찾는 것이 중요함. -정보의 활용은 정보의 가용성을 극대화시키는 것이고, 정보의 통제는 위협요소를 극소화시키는 것이다. 정보보호의 목표 1.기밀성(비밀성, Confidentiality) -오직 인가된 사람, 프로세스, 시스템 만이 알 필요성에 근거해 시스템에 접근 가능해야한다. -정보는 소유자가 원하는 대로 정보의 비밀이 유지되어야 하고, 소유자의 인가를 받은 사람만이 접근 가능, 인가되지 않은 정보의 공개는 반드시 금지되어야 한다. -기밀성을 보장하는 보안기술에는 접근제어, 암호화..

정보보안기사 2024.02.09

백준 3190번(Gold 4)

https://www.acmicpc.net/problem/3190 이번 시간에는 시뮬레이션 문제인 백준 3190번을 풀어보겠습니다. 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net #include #include int direction_row[4] = { 0, 1, 0, -1 }; // 동 남 서 북 int direction_column[4] = { 1, 0, -1, 0 }; int play_game(std::vector&, std::vector&); int main() { int size = 0; int appl..

백준 2023.11.22

백준 12100번(Gold 2)

https://www.acmicpc.net/problem/12100 이번 시간에는 백준 12100번 구현 및 dfs에 대해서 풀어보겠습니다. 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net #include #include #include // ToDo // 이 게임은 중간에 공백이 들어갈 수 있음. 나는 무조건 연속된 수가 나온다고 생각하고 짰다. // enum Direction { LEFT, UP, RIGHT, DOWN }; template class Board { public: ..

백준 2023.11.22

백준 13460번(Gold 1)

이번 시간에는 백준 13460번 BFS를 활용한 구현문제를 풀어보겠습니다. https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net #include #include #include int BFS(std::pair& initial_red, std::pair& initial_blue); std::vector map_r; std::vector map_b; int main() { int N, M; std::ci..

백준 2023.10.15

백준 15686번(Gold 4)

이번 시간에는 백준 15686번을 풀어보겠습니다. https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net #include #include #include void combination(int level, int begin, int r); int calculate_distance(); static int total = 9999999; std::vector chicken; std::vector home; std::vector tmp;..

백준 2023.10.13

백준 2015번(Gold 4)

이번에는 백준 2015번 수들의 합에 대한 백준문제를 풀어보겠습니다. https://www.acmicpc.net/problem/2015 2015번: 수들의 합 4 첫째 줄에 정수 N과 K가 주어진다. (1 ≤ N ≤ 200,000, |K| ≤ 2,000,000,000) N과 K 사이에는 빈칸이 하나 있다. 둘째 줄에는 배열 A를 이루는 N개의 정수가 빈 칸을 사이에 두고 A[1], A[2], ..., A[N]의 순서로 www.acmicpc.net #include #include #include int main() { std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0); long long N, K, sum = 0; std::cin >> N >>..

백준 2023.10.05

백준 2960번(Silver 4)

백준 2960번 에라토스테네스의 체에 대한 백준 문제를 풀어보겠습니다. https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. 이 알고리즘은 다음과 같다. 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. N, K가 주어졌을 때, K번째 지우는 수를 구하는 프..

백준 2023.10.05

백준 2003번(Silver 4)

오늘 포스팅은 기초 알고리즘인 투 포인터를 이용한 간단한 백준문제를 풀어보겠습니다. https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net #include #include int main() { int N, M; std::cin >> N >> M; std::vector tmp(N, 0); for (auto& itr : tmp) { int tp; std::cin >> tp; itr = std::move(tp); ..

백준 2023.09.18
반응형