$bash

8. 저작 재산권

0x0300 : Study/0x0306 : ETC

저작 재산권

- 저작권을 가지고 있는 사람이 재산적 이익을 보호하는 권리

- 제 3자강 이용하고 대가를 지불 하는 원리


종류

1. 복재권

2. 공연권

3. 공중 송신권

4. 전시권

5. 배포권

6. 대여권

7. 2차 저작물 작성권


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

Openssl install  (0) 2017.02.25
여기는 왜 안되는거죠....???  (0) 2016.09.08
7. 저작권  (0) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30

7. 저작권

0x0300 : Study/0x0306 : ETC

저작권

:: 창작물을 만든이(저작자) 자기 저작물에 대해 가지는 배타적인 법적 권리로, 많은 국가에서 인정되는 권리이다


저작권의 영향을 받는 저작물

일반 저작물

- 음악, 어문, 사진, 영상, 연극 , 도형, 건축, 미술품, 프로그램 등.

- 저작자가 생존 하는 동안과 사망 이후 70년간 보호 기간이 이루어 진다.


특수 저작물

- 2차 저작물

:: 원본 저작물에 기초로 실질적 변형이 있는 저작물.

// 새로운 저작물로 원본 저작물과 별도로 보호가 된다.


- 편집 저작물

:: 새로운 창작적인 선택, 배열로 이루어진 저작물.

// 사전, 신문 등은 별도로 독립된 저작물로 보호된다.


- 데이터베이스 저작물

:: 소재를 체계적으로 배열하거나 편집한 저작물

// 개별적 접근 또는 검색 할 수 있도록 한 저작물이다.



저작권의 영향을 받지 못하는 저작물

- 사회 공공의 이익을 위해 법의 보호를 받지 못하는 저작물

= 헌법, 법률, 명령

= 사실의 전달에 불가한 시사보도


- 보호기간 만료, 저작권 포기 저작물


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

여기는 왜 안되는거죠....???  (0) 2016.09.08
8. 저작 재산권  (1) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30

6. 정보기기 보안 및 관리 수칙

0x0300 : Study/0x0306 : ETC

정보기기 보안 및 관리 수칙

- 크랙용, 비 인증 처리된 프로그램을 설치 하지 않는다.

- 전자 우편의 첨부 파일 및 링크 등등 함부로 열어 보지 않는다.

- 중요한 자료는 항상 암호화 하거나 비밀번호를 설정한다.

- 보안 소프트웨어의 실시간 감시 기능을 켜 놓고 장기적으로 전체 검사를 주기적으로 실행한다.

- 정보 기기의 운영체제와 보안 소프트웨어는 항상 최신 버전을 유지하도록 한다.

- 기기의 분실을 대비하여 중요한 정보는 항상 백업, 분실 했을 경우 원격으로 개인정보를 삭제 할 수 있도록 한다.


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

8. 저작 재산권  (1) 2016.07.03
7. 저작권  (0) 2016.07.03
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28

5. 해커의 분류

0x0300 : Study/0x0306 : ETC

해커의 분류.

White hat 

:: 순수하게 공부와 학업을 목적으로 악의적 목표가 없이 하는 해커.


Black hat

:: 악당이라는 의미로 타인에게 피해를 주는 해커.


Gary hat

:: 화이트와 블랙의 개념이 섞인 헤커 순수한 목표로 공부하지만 대가로 무언가 주어진다면 악의적인 행동을 할 수 있는 해커.


Blue hat

:: 보안 분야의 베타 테스터의 개념, 보안 컨설팅 화사에서 근무하는 사람을 의미한다고 한다.


Script Kiddie

:: 프로그램을 이용하여 해킹하는 아마추어 해커.


Hacktivist

:: 해커와 정치가의 합성어로 정치적 사회적 슬로건을 가지고 알리려는 해커.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

7. 저작권  (0) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28

4. 해킹과 크래킹

0x0300 : Study/0x0306 : ETC

해킹(Hacking)

:: 허가 받지 않은 상태에서 다른 사람이나 기관의 컴퓨터 시스템에 접근하여 저장된 정보를 마음대로 복사, 변경 삭제 등의 광범위한 행위를 

의미한다.


해킹의 유형?

3가지 유형은 말그대로 웹은 웹에서 시스템은 운영체제 또는 프로그램, 네트워크는 네트워크 에서 나오는 취약점을 찾아 공격하는 행위이다.


개인적 견해..?

// 해킹의 유형에는 Web, system, Network 가 있다고 한다. 하지만 본인은 System, Network 가 큰 의미이 해킹유형이라고 생각한다.

// Web은 Network 요소와 System요소가 복합적으로 있다고 생각한다. 하지만 단순히 웹페이지 에서만 진행되는 것이 웹이라면...할말이 쩝..


크래킹(Cracking)

:: 다른 컴퓨터의 시스템을 파괴하려는 계획을 세우고 침입하는 행위라는 부정적인 의미의 해킹을 의미한다.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28
1. 자료와 정보  (0) 2016.06.28

System - Return To Library

0x0300 : Study/0x0301 : System

PLG ? GOT?

Plt (Procedure linkage table)

사용자가 만든 함수는 plt를 참조할 필요가 없지만 외부 라이브러리에서 가져다 쓸 경우 plt 를 참조 하게 된다.


got (global offset table)

함수들의 주소를 담고 있는 테이블이다. 라이브러리에서 함수를 호출할 때 plt가 got를 참조한다.



즉 외부 라이브러리에서 함수를 참조할 때? plt에서 got로 넘어가고 got는 실제 라이브러리 함수주소가 들어있다.


got overwrite라는 기법이 plt, got의 동작 과정에서 고안해낸 기법이다. got는 실제 함수의 주소를 가리켜서 그곳을 실행 하기 때문에

got에 우리가 원하는 주소로 덮어버리면 특정 함수가 실행되지 않고 우리가 원하는 주소가 실행된다.


plt (Procedure linkage table)

gdb를 통해 디버깅을 해보면..


fflush@plt

fget@plt

puts@plt


처럼 외부 라이브러리가 있는 것을 확인 할 수 있다.

그 밖에도 사용자가 만든 procedure들도 확인 할 수 있는데...예시가 없어 확인 해줄 방도가..


got (global offset table)

// 뭐라 설명하기 힘든데...공부한 블로그 자료 보는게 좋을듯 ..

// 주소는 아래에 !


즉.

함수 실행전>>

plt 주소 > got 주소 (JMP plt + 6) > jmp got > dl_runtime_resolve > dl_fixup > dl_lookup_symbol > jmp function address


함수 실행후>>

plt 주소 > got 주소 > jum function address



Return To Library

:: 공유 라이브러리에 있는 함수의 주소를 이용해서 바이너리에 존재하지 않는 함수를 사용 할 수 있다.


DEP (Data Execution Prevention) 메모리 보호기법 우회.

:: 데이터 실행방지로 스택이나 힙에서 쉘 코드를 실행방지를 해주는 메모리 보호 기법.

NX bit (Never Execution Bit) 가 적용된 스택을 우회하기 위해 사용.

:: NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그 곳에서 상주 하지 않음으로써 실행되지 않도록 만들어 준다.


본문에서 사용된 예시이다.

// 커피하고 2진법 저거는 무시..


이 코딩을 보면 strcpy라는 함수구문에 libc_start_main대신 system을 실행 하고자 한다.

// system("bin/sh")을 실행 시키는 것이 목표.


먼저 저 코드의 스택 구조를 살펴보면


buf[128] 

sfp[4] 

ret[4]

 dummy[4]

parameter[1] 


이러한 구조로 나타나 있다.

// 이 또한 gdb를 통해 구조를 파악. 사실 굳이 안해도 이정돈 구상 해야되는듯...?


우린 저 구조에서 ret[4]를 ..


 ret [4]

 >>

 libc.so.6

 

 

system() 

처럼 변환 하여 sh을 실행 시키고자한다.


// 왜 이렇게 되는지는 bof하면서 아니깐 pass...궁금하면 원문 링크 .


buf [128] + sfp 값 + return 값 + "AAAA" + parmeter 를 넣어서 실행 시키면?

eip에 0x41414141 이라는 값이 입력 되어있을 것이다...이 곳으로 bof? 이론처럼 하면 되는듯..?


-----

ASLR (Address Space Layout Randomization)

:: 동적 라이브러리의 주소를 프로그램 실행마다 매핑!


ulimit -s unlimited를 이용하면 스택이 더이상 증가하지 않고 랜덤으로 매핑이 되는 것을 방지 할 수 있다.

// ulimit > 시스템 제한    ,    -s > 최대 스택 크기 출력    ,    unlimited > 크기제한 해제.

// 리눅스 상위 버전이나 대부분인거 같은데... aslr이 걸려있다는 거 같다..


-----


다시 돌아와서 ..

시스템 주소값과 파라미터 주소 값을 알게 되어 sh 를 실행 시키면 되는데...


원문에서는 export PATH를 이용해 환경변수에 시스템 출력 하는 것을 지정하였다.

// export PATH=.:$PATH    >    환경변수에 현재 위치( . )를 등록..


페이로드를 작성하면...


buf [128] + sfp [4] + 0x4007b190 (시스템 주소값) + dummy [4] + 0x44가 들어 있는 주소.

// 0x44값을 지우고 쉘 코드를 넣어서 해도 될듯 하다...

// 사용된 주소값은 원문에서 쓰인 값이다.



" 출처 : http://shayete.tistory.com/ "

'0x0300 : Study > 0x0301 : System' 카테고리의 다른 글

System - Format String Attack 1  (0) 2016.08.05
생각난김에 쓴 심볼릭 링크  (0) 2016.07.19
System - Assembly Handray  (0) 2016.06.12
System - stack? gdb?  (0) 2016.06.12
System - 시스템해킹이란?  (0) 2016.06.12

3. 정보 윤리와 네티켓

0x0300 : Study/0x0306 : ETC

정보 윤리의 기본 규칙

존중의 원칙            :    나 자신이 존중을 받기 원한다면 타인부터 존중 해야된다.

책임의 원칙            :    자신이 언급하거나 만든 파생물은 본인이 책임저야 된다. 회피하거나 기피 해서는 안된다.

정의의 원칙            :    다른 사람의 자유와 권리를 침해 하지 않고 자신이 제공하는 정보에도 공정성과 완전성을 추구해야 된다.

해악 금지의 원칙    :    악성 프로그램을 유포나 저작권 침해, 사이버 폭력 등등 다른 사람에게 해가 가는 행동을 해서는 안된다.


네티켓의 기본원칙

1 .     통신하고 있는 상대가 본인과 같은 사람임을 인지한다.

2.     실제 생활과 적용 되는 것과 같은 기준임을 행동하고 고수한다.

3.     자사이 접속해 있는 곳을 정확히 알고 그곳 문화에 어울려 행동한다.

4.     다른 사람의 시간을 존중한다.

5.     자신의 표현하는데 주의를 가한다.

6.     전문적인 지식은 공유를 한다.

7.     논쟁은 절제된 감정 아래 행동한다.

8.     다른 사람의 사생활을 존중한다.

9.     자신의 권력을 남용 하지 않는다.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28
1. 자료와 정보  (0) 2016.06.28

2. 컴퓨터가 처리과정중 필요 하는 이유

0x0300 : Study/0x0306 : ETC

컴퓨터가 자료 처리 과정중 사용 해야 되는 이유?

정확성    :    1+1은 2라는 값처럼 진리값만이 도출하여 나타난다.

신속성    :    사람보다 처리하는 속도가 빠르다.

대용량성 :    많은 양의 정보를 저장 하여 처리 할 수 있다.

자동성    :    사용자가 만든 프로그램을 통해 자동적으로 실행시킬수있다.

정보통합 :    다양한 정보를 통합하여 처리 할 수 있다.

전달성    :    시간과 공간의 제약 없이 멀리 보낼 수 있다.


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
1. 자료와 정보  (0) 2016.06.28

1. 자료와 정보

0x0300 : Study/0x0306 : ETC

자료(Data)

자료란 정보를 구성하는 요소이다. 단순한 사실이나 값들 따위의 집합을 뜻한다.


보통 연구나 조사 등의 바탕이 되는 재료를 말하며, 자료를 의미있게 정리하면 정보가 된다.


정보(Information)

수집한 자료를 다양한 방법으로 가공하고 처리하여 사용자가 의미있게 사용 할 수 있도록 한 결과물 이다.


정보는 항상 변화하고 있으며, 그 속도가 더욱 빠르게 진행된다. 개인이 하나의 정보를 선택하게 된다면 변화에 의해 불확실성이 커지게 되며 정보의 가치가 적어질 수 있다는 이유 때문에 선택된 정보보다 선택되지 않은 정보가 더 가치 있으며 불안감을 조성하게 된다.


정보의 특성

적시성     :    필요한 상황이 연출 되었을 경우 제공되어 정보가 가치가 있게 된다.

활용성     :    활용이 되어야 비로소 정보의 가치를 가지게 된다.

비인전성  :    타인에게 전달되어도 본인에게 남아 있게된다.

결합성     :    결합되거나 가공되어 다른 정보로 파생이 될 수 있다.

희소성     :    독점이 되어있을 때 가치가 증대된다.

무형성     :    보이지 않고 형태가 없다.

정확성     :    정확하고 공신력 있어야 신뢰와 가치가 생긴다.

상대성     :    사람, 장소 등에 따라 같은 정보라도 가치가 다르다.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28

SQL - 트랜잭션 작동 및 복구

0x0300 : Study/0x0305 : SQL

트랜잭션 작동 및 복구


데이터 베이스의 기본 구조

데이터 베이스는 물리적으로 파일임


기본적으로 ' *.mdf '와 '*.ldf' 두 파일이 생김.

데이터 파일

// *.mdf 로 생성됨

// 이 파일에는 데이터베이스 개체(테이블, 인덱스 등)와 그 행 데이터가 저장됨

트랜잭션 로그파일

// *.ldf 로 생성됨.

// 데이터의 변경에 대한 내용을 기록해 두는 공간

// 정전 등의 응급한 상황에서 입력된 데이터가 완전하도록 함


데이터 베이스의 간단한 구조도


트랜잭션 개념 및 구문 형식

트랜잭션 개념

- 하나의 논리적 작업단위로 수행되는 일련의 작업


- SQL문 (SELECT/INSERT/UPDATE/DELETE)의 묶음


- 한 단위의 트랜잭션은 모두 처리되거나, 모두 처리 되지 않도록 DBMS가 관리해 준다.


구문 형식

// BEGIN TRANSACTION                         (또는 BEGIN TRAN)

//     SQL구문 ...


// COMMIT TRANSACTION                     (또는 COMMIT TRAN)


자동 커밋 트랜잭션 작동

일반적으로 사용하는 SQL문

// UPDATE userTbl SET addr = '서울'

// WHERE 아이디 = 'AJH'


자동커밋트랜잭션 방식에 의한 내부 작동

// BEGIN TRANSACTION                         (또는 BEFIN TRAN)

// UPDATE userTbl SET addr = '서울'

// WHERE userID = 'AJH'

// COMMIT TRANSACTION                     (또는 COMMIT TRAN)

'0x0300 : Study > 0x0305 : SQL' 카테고리의 다른 글

SQL - 기초  (0) 2016.06.15
SQL - SQL?  (0) 2016.06.15