달력

1

« 2020/1 »

  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  


 

 

 

특수용도 변수들 & 함수들

이더리움 스마트 계약은 특수 용도의 변수들과 함수들을 정의하고 있습니다.

 


 

 

 

구분

설명

blockhash

·       Blockhash blocknumber input 인자로 받습니다.

·       주어진 block number 해당하는 32 bytes hash값을 리턴합니다.

block.coinbase

·       현재 블록 채굴자의 외부 계정 주소(address) 또는 지갑 주소를 리턴하게 됩니다.

block.difficulty

·       현재 블록의 채굴 난이도를 반환합니다.

block.gaslimit

·       현재 블록의 가스 리미트를 반환합니다.

block.number

·       현재 블록의 넘버를 반환합니다.

·       현재 블록의 넘버는 현재 블록까지의 블록체인 길이이기도 니다.

block.timestamp

·       현재 블록의 timestamp로서 unix epoch 이후 단위를 알려줍니다.

gasleft()

·       Gasleft 함수로써 현재 남은 가스량을 알려줍니다.

msg.gas

·       gasleft() 함수와 마찬가지로 현재 남은 가스량을 알려줍니다.

·       0.4.21 버전 이전에 사용되다가, 이후 gasleft() 대체되었습니다.

msg.data

·       현재 message call 전체 데이터를 반환합니다. Cal Data라고도 부릅니다.

msg.sig

·       msg.data 또는 Call Data 4 bytes 반환합니다.

·       함수 ID로도 사용됩니다.

msg.value

·       현재 message call 함께 전송된 Ether 양입니다.

·       스마트 계약에서 Ether 기본단위인 wei 단위로 표현됩니다.

now

·       현재 블록의 timestamp로서 block.timestamp 동일합니다.

tx.gasprice

·       Transaction Gas Price 반환합니다.

tx.origin

·       transaction 송신자의 주소(address) 반환합니다.

 

 

이더리움 스마트 계약은 블록의 넘버와 같은 블록 정보에 접근할 있고 이더리움 백서에 언급된 Blockchain Awareness 개념이 구현되어 있습니다.

비트코인은 Blockchain Blindness, 비트코인 스크립트는 블록의 정보를 수가 없습니다.

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

크리덴셜(Credential)

·         ID, PW 같은 로그인 정보 개인 신상과 관련해 암호화한 정보까지 폭넓게 의미합니다.

·         크리덴셜은 사용자가 본인을 증명하는 수단으로서의 의미를 가집니다.

 

 

 

 

 

크리덴셜 스터핑(Credential stuffing)

·         공격자가 이미 확보한 크리덴셜(Credential) 다른 계정들에 마구 집어 넣는(stuffing) 방식으로 사용자 정보를 침해하고 공격하는 것을 가리킵니다.

·         웹사이트에서 훔친 로그인 정보를 다른 웹사이트에 무차별 대입(brute-force)하는 자동화 시스템입니다.

·         하나의 계정 정보가 다른 계정 정보와도 일치할 것을 노린 공격 프로세스입니다.

·         사용자가 동일한 크리덴셜을 다중의 웹사이트에서 사용한다는 사실을 파악하여 계정 탈취를 쉽게 자동화할 있고 추후 많은 계정을 공격하는 데도 활용되어집니다.

·         만약 어떤 사람이 동일한 비밀번호를 여러 계정에서 함께 사용하고 있거나 예전에 사용했던 비밀번호를 다시 사용하고 있다면, 언제 어디서 유출됐을지 모를 크리덴셜을 통해 공격자가 여러 계정에 사람의 비밀번호를 대입해 공격하다면 공격에 성공할 가능성이 매우 높아지게 됩니다.

 

 

https://en.wikipedia.org/wiki/Credential_stuffing

https://www.owasp.org/index.php/Credential_stuffing

 

 

 


 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

블록체인의 활용분야

블록체인은 디지털 자산 거래, 디지털 계약, 디지털 인증 분야 여러 분야에 더욱 간편하고 안전한 거래를 위해 활용되고 있습니다.

 

분야

활용

디지털 자산 거래 분야

·       결제

·       송금 주식 거래

·       채권/특허 무형자산의 소유권 금융자산 거래

·       주택/자동차와 같은 유형자산의 소유권 이전

디지털 계약 분야

·       블록체인 기술에 기반을 '스마트 계약(smart contract)'

·       다양한 규제와 거래 사이클을 가지는 글로벌 물류, 유통 분야

디지털 인증 분야

·       주소, 전화번호 기존의 개인정보

·       사용자의 생체 정보도 추가한 디지털 신분증으로 더욱 간편하고 안전한 인증을 구현하는 활용

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

 

결함 리포트

결함 관리를 위해 결함 발생 결함 관리시 스템에 결함을 등록하되 아래 항목들을 필수로 포함합니다.

·         결함 내용

·         테스트 케이스 식별 번호

·         결함 유형

·         발견일

·         심각도

·         우선순위(결함 수정의 우선순위)

·         시정 조치 예정일

·         수정 담당자

·         테스트 결과

·         종료일

 

https://codedragon.tistory.com/5401

 

 

 

 

 

 

프로젝트 수행 단계에 따른 테스트의 접근 방법

 

·         단위 테스트

·         통합 테스트

·         시스템 테스트

·         인수 테스트

 

 

https://codedragon.tistory.com/9984

https://codedragon.tistory.com/8937

https://codedragon.tistory.com/9914

https://codedragon.tistory.com/9943

https://codedragon.tistory.com/9113

 

 

 

 

 

 

 

형상관리 용어 - Git

https://codedragon.tistory.com/4763

 

 

 

 

 

 

 

결함 분석(Defect Analysis) 관련 용어 설명

https://codedragon.tistory.com/6178

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

Turing Complete

·         튜링 완전 튜링 완전성 (turing completeness)

·         어떤 기계가 튜링 기계와 같은 상태라고 하면 이를 Turing Complete라고 합니다.

·         우리가 사용하는 컴퓨터는 튜링 기계의 일종이며 Turing Complete 상태입니다.

·         대부분의 프로그래밍 언어는 Turing Complete입니다.

·         Turing Complete 프로그래밍 언어는 어떠한 함수식도 구현할 있으므로, 우리가 알고 있는 프로그래밍 언어를 통해 어떠한 알고리즘과 응용프로그램도 구현할 있다는 의미가 됩니다.

 

http://bit.ly/2HlIcN0

https://en.wikipedia.org/wiki/Turing_completeness

 




Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

 

 

테스트 도구의 장단점

https://codedragon.tistory.com/9856

 

 

 

 

 

 

 

 

 

소프트웨어 품질 평가의 모델 SQUARE(ISO25000) 구성  Diagram

 

 


 

https://codedragon.tistory.com/9876

https://codedragon.tistory.com/9895

https://codedragon.tistory.com/9060

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

상태 전이 테스팅의 설계 절차

단계

절차

1

상태-이벤트 테이블 구성

2

전이 트리 구성

3

반응(Legal or Valid)테스트 케이스 구성

4

무반응(Illegal or Invalid)테스트 케이스 구성

5

가드 또는 조건 테스트 케이스 구성

6

테스트 프로시저 구성

 

https://codedragon.tistory.com/9738

https://codedragon.tistory.com/9838

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

테스팅의 일반적인 원리

원리

설명

테스팅은 결함이 존재함을 밝히는 활동입니다.

·         결험이 발견되지 않는다해도 결함이 없다는 것은 증명할 없습니다.

완벽한 테스팅 불가능합니다.

·         리스크 분석과 결정된 우선순위에 테스팅을 집중해야 합니다.

·         모든 가능성을 테스트하는 것은 불가능합니다. (자원 한계, 무한한 조건/조합이 존재)

테스팅은 개발 초기 시작합니다.

·         개발 시작과 동시에 테스트를 계획, 전략적으로 접근해야 합니다.

결함 집중(Defect Clustering)

·         대다수의 결함들은 적은 수의 모듈에서 대다수의 결함이 발견됩니다.

살충제 패러독스(Pesticide Paradox)

·         동일한 테스트를 반복적으로 수행하면 버그를 찾기 힘듭니다.

·         동일한 테스트케이스로 반복 수행할 경우 새오운 결합을 찾을 없으므로 정기적인 테스트케이스 리뷰와 개선 필요합니다.

테스팅은 정황(Context) 의존적입니다.

·         정황과, 분야에 따라 다르게 테스트를 진행합니다.

·         효율적, 효과적 테스트 조직과 독립적 테스트 환경이 필요합니다.

오류-부재의 궤변(Absence of Errors Fallacy)

·         사용자 요구사항에 맞지 않는다면 결함을 찾고 수정하는 것은 무의미합니다. , 요구사항을 충족하지 못하면 결함을 모두 발견했다고(오류가 없더라도) 해도 품질이 높다고 없습니다.

 

https://codedragon.tistory.com/6531

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

State Variable 접근 유형

접근 유형에는 다음과 같이 4가지 유형이 존재합니다.

 

 

private < internal < external < public

 

 

 

public

·         public으로 선언된 함수나 state 변수는 내부 호출 또는 message call 통해서 호출 또는 접근이 가능합니다.

·         public state 변수는 자동적으로 getter 함수가 생성됩니다.

 

 

 

 

 

external

·         external  스마트 계약  거래를 통해서 호출이 가능합니다.

·         external Internal 통해서 호출하는 대신 this 객체를 이용해서 외부 호출방식으로 내부호출도 가능합니다.

 

 

 

 

internal

·         Internal 선언된 함수  변수는 해당 contract 내부적으로만 접근이 가능합니다.

·          Contract  transaction, message call 통해서 호출  접근이 불가능합니다.

 

 

 

 

 

private

·         private 선언된 함수와 변수는 해당 스마트 계약에만 종속됩니다.

·         스마트 계약도 객체지향 언어의 일종으로 함수와 변수에 대한 정의를 상속(inheritance)  있습니다이때 private 선언된 함수와 변수는 상속이 되지 않습니다.

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

기업의 보안 담당자를 위한 한눈에 보는 로그설정 노트

한눈에 보는 로그설정 노트(Windows)

한눈에 보는 로그설정 노트(Linux)

한눈에 보는 로그설정 노트(응용프로그램)

 

http://bit.ly/2qQznoE



 

 

 

직접 다운로드

로그설정노트(응용프로그램).pdf

로그설정노트(Windows).pdf

로그설정노트(Linux).pdf

 


Posted by codedragon codedragon

댓글을 달아 주세요