12 Commits

Author SHA1 Message Date
Patrick Lodder
7237da74b8
update inline copyright years
adds a line when no copyright for Dogecoin Core Developers exists
but the file has been edited by us, to the last year found in git
log, or extends the year range on an existing line when a file
has been modified since the year previously listed.

Excludes subtrees.
2024-02-25 13:12:26 -05:00
Patrick Lodder
236fd879f8
devtools: disable currently unsupported security checks
Disables checks from Bitcoin 24.0.1 security-check.py code that
we currently cannot support on Dogecoin Core without changes to
the build process

    - separate-code needs linking using binutils 2.31 and/or
      explicit linking with -z,separate-code on binutils 2.30+
    - CONTROL_FLOW can be enabled after building with gcc-8
      or later. This would require at least a Ubuntu Focal
      Gitian implementation, and -fcf-protection enabled on
      the boost dependency.
    - HIGH_ENTROPY_VA and RELOC_SECTION checks for Windows
      binaries need fixes for dogecoin-cli, dogecoin-tx and
      test binaries, so that ASLR can be used for these binaries
      the same way it was done for dogecoind and dogecoin-qt.

These checks can be re-enabled once these security features are
enabled on release binaries (i.e. those built with Gitian)
2023-01-22 03:55:02 +01:00
Patrick Lodder
20eff509e8
devtools: backport lief-based security and symbol checkers
Takes the security and symbol checkers from Bitcoin Core v24.0.1
because this uses the python3 capable lief module for reading
multi-platform binaries. This helps getting rid of
incompatibilities when using these tools in Ubuntu releases newer
than Bionic (18.04) and by using the external module, reduces risk
and maintenance cost of custom code.

This commit does NOT reconfigure for Dogecoin 1.14.7 parametrization

Backported from state at: b3f866a8@bitcoin/bitcoin
2023-01-22 03:55:01 +01:00
Wladimir J. van der Laan
4e1567acff
Merge #8249: Enable (and check for) 64-bit ASLR on Windows
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan)
9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2016-09-26 13:34:38 +02:00
Wladimir J. van der Laan
9a75d29b6f devtools: Check for high-entropy ASLR in 64-bit PE executables
check_PE_PIE only checked for DYNAMIC_BASE, this is not enough
for (secure) ASLR on 64-bit.
2016-09-26 12:57:55 +02:00
isle2983
4677b197f7 [copyright] add MIT License copyright header to remaining Python files 2016-09-11 16:21:01 -06:00
Matthew King
7b01ce254c Favour python over python2 as per PR #7723 2016-06-28 12:59:34 +03:00
Matthew King
873e81f89b Use portable #! in python scripts (/usr/bin/env) 2016-06-26 16:47:03 +03:00
Wladimir J. van der Laan
18f05c765c build: python 3 compatibility
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default.
It is possible to install a python-2.7 package, but this has its own
problem: no `python` or `python2` symlink (see #7717).

This fixes the following scripts to work with python 3:
- `make check` (bctest,py, bitcoin-util-test.py)
- `make translate` (extract_strings_qt.py)
- `make symbols-check` (symbol-check.py)
- `make security-check` (security-check.py)

Explicitly call the python commands using $(PYTHON) instead
of relying on the interpreter line at the top of the scripts.
2016-03-29 17:20:16 +02:00
Cory Fields
cd27bf51e0 release: fix parsing of BIND_NOW with older readelf 2016-01-26 23:07:04 -05:00
calebogden
0331aa350c Fixing typos on security-check.py and torcontrol.cpp 2016-01-08 13:31:42 -08:00
Wladimir J. van der Laan
579b863cd7 devtools: Add security-check.py
Perform the following ELF security checks:

- PIE: Check for position independent executable (PIE), allowing for address space randomization
- NX: Check that no sections are writable and executable (including the stack)
- RELRO: Check for read-only relocations, binding at startup
- Canary: Check for use of stack canary

Also add a check to symbol-check.py that checks that only the subset of
allowed libraries is imported (to avoid incompatibilities).
2015-10-22 03:35:38 +02:00