본문 바로가기

전체 글93

20. TCP/IP 물리 계층 응용, 전송, 네트워크, 데이터 링크에서의 통신은 논리적 물리 계층 통신은 물리적 데이터링크 계층 오류제어, 흐름제어 네트워크 계층 라우팅 경로를 설정하는 것 포워딩 패킷이 도착했을 때 라우터가 취하는 행동 IPv4 주소 클래스 A 첫 번째 비트가 0인 IP주소 클래스 B 처음 두 비트의 값이 10인 IP주소 클래스 C 처음 세 비트의 값이 110인 IP주소 클래스 D 처음 네 비트의 값이 1110인 IP주소 클래스 E 처음 네 비트의 값이 1111인 IP주소 주소 고갈을 완화하기 위해 서브네팅과 슈퍼네팅이라는 기술을 사용함 하지만 해결하지 못해서 클래스 권한이 제거되었다. CIDR표기법을 이용 192.168.0.1/24 디스-호스트 주소 0.0.0.0/32 제한된 브로드캐스트 주소 255.2.. 2023. 5. 2.
19. 네트워크 개요 OSI 모델 물리계층(Physical layer) 물리적 링크의 설정, 유지, 해제를 담당 전송방식과 인코딩 방식 결정 비트 스트림 데이터링크 계층(Data link layer) 흐름제어, 오류제어 이더넷, 토큰링, 802.11(WLAN) 등 프레임, MAC주소 네트워크 계층(Network layer) 논리적 링크를 설정하고 상위 계층 데이터를 작은 크기의 패킷으로 분할하여 전송 IP, ICMP, IGMP, ARP, RARP, NAT, RIP 등 패킷, IP주소 전송 계층(Transport layer) 종단간 제어 담당 TCP, UDP 등 세그먼트, 포트번호 세션 계층(Session layer) 세션 연결, 관리, 종료 동기화 SQL, RPC 등 메시지 표현 계층(Presentation layer) 데이.. 2023. 5. 1.
18. 최신 보안 주제 블록체인 온라인 금융 거래 정보를 블록으로 연결하여 P2P 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자들의 개인 디지털 장비에 분산, 저장시켜 공동으로 관리하는 방식 탈중앙화, 투명성, 불변성, 가용성 기반기술 분산 네트워크, 암호기술, 이중 거래 방지, 합의 기법 합의기법 작업증명 처음 비밀번호를 알아낸 사람만이 가상통화로 보상을 받고 블록을 체인에 추가 지분증명 지분에 따라 블록을 생성 종류 퍼블릭 블록체인 속도 느림, 모든 참여자가 읽기, 쓰기, 합의 등 권한 보유 프라이빗 블록체인 속도 빠름, 구성원에 따라 사용 가능한 권한 지정 가능 보안 위협요소 프라이버시 문제, 키 도난 및 분실, 가용성 저하 사물인터넷 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반시설 활용 사.. 2023. 4. 30.
SQL Injection 대응 방안 이전에는 Union SQL Injection Error Based SQL Injection Blind SQL Injection 을 정리했다 SQL Injection은 공격자가 SQL 질의문을 삽입하는 공격이다. Injection이 발생하는 이유는 뭘까 SQL 질의문에 사용자의 입력이 그대로 들어가기 때문에 발생한다. 그러면 or, and 이런 것들을 필터링하면 어떨까? 어느 정도는 막을 수 있지만 사용자 이름에 or, and가 있으면 사용자가 이용을 하는데 불편함이 생긴다. 그래서 필터링은 소극적인 대응방안이자 최후의 수단으로 놔둬야 한다. 대응 방안으로는 PreparedStatement 처리하면 된다. Prepard Statement처리를 하면 우회고 뭐고 Injection이 전부 막히게 된다. 하지만.. 2023. 4. 29.
Blind SQL Injection Blind SQL Injection이란 SQL 질의문의 참과 거짓의 조건으로 데이터를 추출하는 기법이다. DB결과가 화면에 안 나오고 에러메시지가 나오지 않는 경우는 Blind SQL Injection을 사용한다. (Union과 Error이 사용불가능할 때 사용하자) 참과 거짓 조건에 따라 응답이 다른 곳에서 사용할 수 있다.(어떻게든 다르면 가능하다) (1) SQL Injection 확인 ID 중복 검사를 하면 like가 아닌 is를 사용할 거 같다. name is '____' 일거 같다. normaltic은 성공했고 norm은 실패, mal도 실패, tic도 실패했다. 그래서 like는 사용하지 않을 거라는 게 맞고 is를 사용했다는 걸 알 수 있다. normaltic' and '1' = '1을 입력.. 2023. 4. 28.
17. 시스템 보안위협 및 대응책 오버플로우 공격 프로세스 메모리 구조 Text 영역 프로그램 코드와 상수가 정의 읽기만 가능한 영역 Data 영역 전역 변수와 정적 변수가 저장되어 있는 영역 Heep 영역 동적 메모리 호출에 의해 할당되는 메모리 영역 Stack 영역 함수 내의 지역 변수, 함수의 반환 주소 등이 저장 버퍼 오버플로우 공격 프로그램에 버퍼를 조작할 수 있는 버그가 존재하는 취약성을 대상으로 비정상적 방법으로 특정 행위나 프로그램 따위를 하도록 시키는 행위 스택 버퍼 오버플로우 공격, 힙 오버플로우 공격 컴파일 시간 방어, 실행 시간 방어 포맷 스트링 공격 문자열 입력 포맷을 잘못된 형태로 입력하는 경우 나타나는 취약점을 이용한 공격 레이스 컨디션 공격 바꿔치기 공격(관리자 권한으로 실행되는 프로그램 중간에 끼어들어 자신.. 2023. 4. 27.
16. 서버 보안 관리 서버관리자 업무 지속적으로 보안 유지 관리를 해야 함 root로 직접 로그인하는 것은 막고 su 명령어로 변경하기 사용자의 계정을 관리 시스템 자원 관리 네트워크 관리 로그 관리 로그는 안 볼 거면 모으지 말기 윈도우는 중앙 집중화된 로그 수집 유닉스는 로그를 산발적으로 저장 윈도우 시스템 이벤트 로그 바이너리 형식이기 때문에 별도의 프로그램으로 열어야 한다. 이벤트 아이디 각 로그별로 고유한 번호를 부여 번호를 알고 있으면 빠르고 효과적인 분석 가능 응용 프로그램 로그 응용 프로그램이 기록한 다양한 이벤트 저장, AppEvent.Evn 보안 로그 로그인 시도 및 파일 생성, 열람, 삭제 등 저장, SecEvent.Evn 시스템 로그 시스템 구성요소가 기록하는 이벤트, SysEvent.Evn 감사정책 어.. 2023. 4. 26.
[4주차-3] 회원가입 기능 만들기 4 위의 사진은 전체적인 진행 과정이다. 검색 버튼을 누르면 새 창이 열리고 새 창에서 주소를 검색하면 링크가 걸려서 결과가 출력된다. 링크를 누르면 그 값이 주소 검색 폼에 저장이 되고 나머지 값을 입력하면 회원가입에 성공한다. 39 echo $sel_add;를 링크를 걸어서 출력되게 수정(a태그를 php 밖으로 꺼내니까 작동했다.) 링크된 주소를 누르면 스크립트로 넘어가서 클릭한 주소의 정보를 object.innerText를 이용하여 가져온다. 이 값이 회원가입창의 주소 검색에 들어가고 나머지 세부주소를 입력하면 된다. 회원가입 페이지를 수정하였다. 스크립트 코드를 수정하고 주소창을 누르면 주소검색이 나오는 게 아닌 버튼을 누르면 나오게 변경하였다. 그에 맞춰서 주소를 받아오고 DB에 저장할 수 있게 p.. 2023. 4. 25.
[4주차-2] 회원가입 기능 만들기 3 주소를 검색했을 때 보통은 도로명 주소를 입력한다. DB에는 도로명 주소랑 건물번호가 분리돼서 저장이 돼있다. 따라서 우리는 입력받은 도로명 주소를 공백을 보고 분리해서 가져와야 한다. ex) 백제대로 41 -> '백제대로', '41' / 백제대로 -> '백제대로' 공백을 explode 함수를 이용하여 구분할 것이다. 공백을 전후로 arr[0], arr[1] 이렇게 입력이 되고 도로명과 건물번호를 같이 입력하면 if(arr[1])이 실행이 되고 건물번호가 입력되지 않으면 else가 실행될 것이다. $result를 while문으로 반복시켜서 [시도][시군구][도로명][건물번호][건물명]으로 만들어주고 $sel_add를 출력하면 된다. 이제 주소를 클릭하면 그 값이 주소검색 폼으로 들어가서 나머지 세부 주소.. 2023. 4. 24.