cloud9_root/src/cloud9/lib/Core/CacheSideChannel.cpp
// generate constraints in order to detect vulnerabilities against sequence-based attacks
generate constraints in order to detect vulnerabilities against sequence-based attacks
generate constraints in order to detect vulnerabilities against sequence - based attacks
void CacheChannel::processColdMissCnstrForSeqAttack(ExecutionState& state, TimingSolver* solver) {
	for (unsigned II = 1; II < state.memAddrs.size(); II++) {
		ref<Expr> addressI = state.memAddrs[II];
		ref<Expr> neverBeforeI = generateNeverBeforeCnstr(state, solver, II);
		if (neverBeforeI.isNull()) continue;
		ref<Expr> notNeverBeforeI = NotExpr::create(neverBeforeI);
		pairT coldSeqCnstr(notNeverBeforeI, neverBeforeI);
		coldSeqConstraintLog[II] = coldSeqCnstr;
	}
}
void CacheChannel :: processColdMissCnstrForSeqAttack ( ExecutionState & state , TimingSolver * solver ) { for ( unsigned II = 1 ; II < state . memAddrs . size ( ) ; II ++ ) { ref < Expr > addressI = state . memAddrs [ II ] ; ref < Expr > neverBeforeI = generateNeverBeforeCnstr ( state , solver , II ) ; if ( neverBeforeI . isNull ( ) ) continue ; ref < Expr > notNeverBeforeI = NotExpr :: create ( neverBeforeI ) ; pairT coldSeqCnstr ( notNeverBeforeI , neverBeforeI ) ; coldSeqConstraintLog [ II ] = coldSeqCnstr ; } }
generate constraints in order to detect vulnerabilities against sequence-based attacks
generate constraints in order to detect vulnerabilities against sequence - based attacks