분류 전체보기 60

[AWS, 보안] 클라우드 환경에서 MITM 공격 분석

네트워크 보안 수업에서 진행한 과제입니다.  클라우드 환경은 현대 기업 및 기관에서 IT 인프라를 구축하고 운영하는 주요 방법 중 하나로 AWS, NHN 클라우드 등 많이 사용되고 있습니다. 하지만 클라우드 환경은 구조가 복잡하며 암호화되지 않은 API 키, 잘못 구성된 네트워크 액세스 권한 등은 MITM 공격의 통로가 될 수 있습니다. 클라우드 환경에서의 네트워크 통신은 인터넷을 통해 이루어지며, 이로 인해 중간자 공격(MITM) 과 같은 공격이 발생하여 공격자는 중간에 위치하여 통신을 가로채거나 조작하여 민감한 정보를 탈취하거나 변조할 수 있습니다. 따라서 현재 상용화되어있는 클라우드 환경에서의 MITM 공격 과정을 살펴보고, 여러가지 실제 환경의 조건이 공격에 미치는 영향을 분석합니다. 실험 AWS..

인프라 2024.10.04

[전산직 필기] 5. 데이터베이스론

출처 : 박미진 컴퓨터 일반전산직 필기 준비를 위해 박미진 컴퓨터 일반 이론 일부 정리 글입니다.데이터베이스데이터베이스 장점데이터 중복과 불일치 감소데이터 독립성 보장질의어 통해 사용자가 쉽게 데이터를 접근할 수 있음무결성 향상보안성 향상데이터의 공유와 동시접근 가능종속성 유지 (X)데이터베이스 특징DBMS로 외부, 내부, 개념 스키마로 계층적 데이터 독립성 제공. 종속성(X)데이터베이스 내에 있는 데이터 레코드는 내용에 의해 참조됨. 주소에 의해 참조(X)DBMS로 데이터 관리DBMS 필수 기능정의 기능: 스키마 생성, 변경, 삭제조작 기능: 검색, 삽입, 수정, 삭제제어 기능: 보안, 무결성, 회복보안 기능 (X)사용자가 데이터베이스의 모든 데이터 자유롭게 액세스 (X) → 접근 권한 있는 부분에 대..

필기 2024.09.23

[AWS,Docker] No space left on device 오류 + cron으로 docker미사용 컨테이너 삭제

오류 메시지No space left on device 오류가 떠서 구글링해보니 서버 저장공간 부족 오류라고 한다java.io.IOException: No space left on device at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349) at org.apache.tomcat.util.http.fileupload.ThresholdingOutputStream.write(ThresholdingOutputStream.java:127) at org.apache.tomcat.util.http.fileu..

인프라 2024.09.22

[전산직 필기] 3. 데이터 통신론

출처 : 박미진 컴퓨터 일반전산직 필기 준비를 위해 박미진 컴퓨터 일반 이론 일부 정리 글입니다.데이터 전송 방식통신단방향 통신 : 한 방향으로만 전송 가능반이중 통신 : 양방향 통신이 가능하나 동시에 양방향 통신이 불가능, 순간에는 단방향 통신만 가능한 상태전이중 통신 : 동시에 데이터를 송수신하는 통신을 말하며 양방향으로 동시에 송수신 가능전송동기식 전송 : 송수신측이 동일한 클럭을 사용하여 데이터를 송수신시작비트, 정지비트 X수신측이 데이터 블록의 시작과 끝을 정확하게 인식할 수 있도록 프레임 레벨의 동기화가 필요비동기식 전송 : 긴 데이터 비트열을 연속적으로 전송, 한번에 한 문자씩수신측이 각 새로운 문자의 시작점에서 재동기를 이루도록 함재동기를 위하여 시작비트, 정지비트 사용구분동기식 전송비동기..

필기 2024.08.23

[프로그래머스 / 자바 / Lv.3] 43105 정수 삼각형

문제 풀이  DP 문제다. 트리에서 자식들의 누적합이 최대가되는 값을 출력하는 문제이다.DP 점화식을 아래와 같이 생각했다.{자식의 현재 값 + (오대각선위 or 왼대각선위) 중 최댓값} 을 구해서 단말노드에 누적 합을 넣어놓는다 이 점화식으로 DP에 누적합을 넣어놓으면 마지막 배열에 총 누적합의 경우가 쌓이므로 마지막 배열 중 최댓값을 출력하면 답이다. class Solution { public int solution(int[][] triangle) { int len = triangle.length; int[][] dp = new int[len][len]; dp[0][0] = triangle[0][0]; for (int i=1; i 1. dp 배열..

[프로그래머스 / 자바 / Lv.2] 70129 이진 변환 반복하기

문제 풀이 입력값에서 0을 제거하고->  0 제거 후 길이를 다시 이진변환-> 이진변환한 수에서 다시 0을 제거-> 0 제거 후 길이를 다시 이진변환하는 것을 반복해서 이진변환 결과가 1이 될 때까지 반복해야한다.출력값으로는 [{총 반복 횟수}, {제거한 0의 개수}] 를 출력해야한다. 변수 설명- len : 0 제거후 길이- zero : 제거한 0의 개수 카운터- count : 반복 횟수 카운터 풀이 순서class Solution { static int zero = 0; static int count = 0; public int[] solution(String s) { convert(s); int[] answer = {count, zero}; ret..

[프로그래머스 / 자바 / Lv.2] 12924 숫자의 표현

문제 풀이 연속된 숫자의 합이 n이 되는 모든 경우의 수를 구하는 문제다.처음에 연속된 숫자의 합이니까 등차수열로 풀어야겠다.. 라고 생각하고 문제를 접근했다.첫 번째 풀이기본 베이스는 위의 등차수열 공식을 생각하고 문제를 풀었다.1. n==n인 경우를 미리 세어주기 위해 count를 1로 초기화함2. 이중 for문으로 저 공식을 만족하는 a, b 값이 존재하면 count를 늘려줌3. for문 다 돌면 count 반환이렇게해서 테스트 케이스는 다 통과됐는데... 시간복잡도 O(n^2)이라 그런지 시간초과가 뜸 ㅜㅜ 다른 방법으로 풀면 되는데 오기가 생겨서 등차수열 고집하다가 시간 많이 버린 문제...ㅋㅋ class Solution { public int solution(int n) { ..

[프로그래머스 / 자바 / Lv.3] 42628 이중우선순위큐

문제풀이 이중우선순위큐를 구현하는 문제로, 주어진 명령어들을 처리하여 최종적으로 큐의 최댓값과 최솟값을 반환하는 것이다.1. 두 개의 우선순위 큐 생성 (최소힙, 최대힙)- 최대힙 정렬은 `Collections.reverseOrder()`로 큐 역순 정렬하여 최대힙을 만든다.2. 명령어 규칙대로 처리- I : min, max 두 큐에 모두 add 연산을 수행- D 1 : 최댓값 삭제- D -1 : 최솟값 삭제3. 큐가 비어있으면 [0, 0] 반환하고, 비어있지 않으면 max.peek()으로 최댓값, min.peek()로 최솟값 반환함.class Solution{ public int[] solution(String[] operations) { PriorityQueue min..

[전산직 필기] 2. 운영체제론

출처 : 박미진 컴퓨터 일반 전산직 필기 준비를 위해 박미진 컴퓨터 일반 이론 정리 글입니다.1) 운영체제 개요운영체제 정의사람을 대신하여 컴퓨터 시스템의 각종 자원을 보다 효율적으로 관리하고 운영하는 시스템 소프트웨어사용자에게 최대의 편리성을 제공하도록 하기 위한 컴퓨터 하드웨어와 사용자간의 매개체 역할을 하는 시스템 프로그램운영체제 목적편리성 : 사용자에게 편리한 환경 제공운영체제는 사용자가 프로그램 효율적으로 실행할 수 있는 환경 제공해야함사용자와 컴퓨터 시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스 제공해야함효율성 : 시스템 성능 향상을 지원처리량 : 시스템의 생산성을 나타내는 것. 단위시간당 처리하는 작업량.응답시간 : 사용자가 시스템에 작업을 의뢰한 후 반응을 얻을 때까지 걸리는 시..

필기 2024.07.14

[인프라] Vue.js, React 배포 이후 새로고침하면 404 Not Found

문제 상황 프론트를 Nginx랑 Docker를 이용해 EC2에 배포해놨는데, 배포한 프론트 서버에 접속했을 때 새로고침하거나 url을 입력해서 접속하면 404 Not Found 페이지가 뜨는 문제가 발생했다. ` GET http://{프론트 서버 ip}/login 404 (Not Found) ` 이런식으로.. 찾아보니 Vue.js 프로젝트에서는 History 모드를 사용하는 Vue Router를 사용하고 있으니, 실제로 서버 설정에서 적절한 리다이렉션 처리가 필요하다고 한다.History 모드는 클라이언트 사이드에서 라우팅을 담당하기 때문에, 사용자가 직접 URL을 입력하거나 새로 고침을 할 때 서버가 해당 경로의 파일을 찾을 수 없어서 404 오류가 발생한다고 한다.현재는 Vue.js로 배포한 서버에 ..

인프라 2024.07.11