4 ms·
Can someone provide an introduction for dummies like me?
by fithisux 10y ago
Can someone provide an introduction for dummies like me?
- terminalcommand 10y agoI am not an expert on the field. But | means or and ^ means execute. In the traditional W(rite)|(or)E(xecute) model, the processes can both write and execute instructions in their address space in memory. I might be wrong but I think this could result in security leaks, because you cannot determine what the code evolves into at execution time. W(rite)^(xor)E(xecute) model doesn't allow the processes to write AND execute instructions at the same time. The wikipedia page states: W^X requires using the CS code segment limit as a "line in the sand", a point in the address space above which execution is not permitted and data is located, and below which it is allowed and executable pages are placed. This means using W^X is an improvement for security, but it's hard to adapt to from a technical viewpoint and limits your computer's ability in meta-programming. For further information: https://en.wikipedia.org/wiki/W%5EX https://en.wikipedia.org/wiki/W%5EX http://marc.info/?l=openbsd-misc&m=105056000801065 http://marc.info/?l=openbsd-misc&m=105056000801065 Disclaimer: I myself am a beginner in the field. Apologies for oversimplification and possible faulty assessments.